This commit is contained in:
overcuriousity
2025-09-14 15:31:18 +02:00
parent 2ae33bc5ba
commit 72f7056bc7
5 changed files with 62 additions and 4 deletions

View File

@@ -57,6 +57,8 @@ class Scanner:
# Scanning progress tracking
self.total_indicators_found = 0
self.indicators_processed = 0
self.indicators_completed = 0
self.tasks_re_enqueued = 0
self.current_indicator = ""
# Concurrent processing configuration
@@ -238,6 +240,8 @@ class Scanner:
self.total_indicators_found = 0
self.indicators_processed = 0
self.indicators_completed = 0
self.tasks_re_enqueued = 0
self.current_indicator = self.current_target
self.target_retries = defaultdict(int)
self.scan_failed_due_to_retries = False
@@ -309,12 +313,14 @@ class Scanner:
if self.target_retries[target] <= self.config.max_retries_per_target:
print(f"Re-queueing target {target} (attempt {self.target_retries[target]})")
self.task_queue.append((target, depth, is_large_entity_member))
self.tasks_re_enqueued += 1
else:
print(f"ERROR: Max retries exceeded for target {target}")
self.scan_failed_due_to_retries = True
self._log_target_processing_error(target, "Max retries exceeded")
else:
processed_targets.add(target)
self.indicators_completed += 1
for new_target in new_targets:
if new_target not in processed_targets:
@@ -699,6 +705,8 @@ class Scanner:
'current_indicator': self.current_indicator,
'total_indicators_found': self.total_indicators_found,
'indicators_processed': self.indicators_processed,
'indicators_completed': self.indicators_completed,
'tasks_re_enqueued': self.tasks_re_enqueued,
'progress_percentage': self._calculate_progress(),
'enabled_providers': [provider.get_name() for provider in self.providers],
'graph_statistics': self.graph.get_statistics(),
@@ -715,6 +723,8 @@ class Scanner:
'current_indicator': '',
'total_indicators_found': 0,
'indicators_processed': 0,
'indicators_completed': 0,
'tasks_re_enqueued': 0,
'progress_percentage': 0.0,
'enabled_providers': [],
'graph_statistics': {},
@@ -788,6 +798,9 @@ class Scanner:
'statistics': live_provider.get_statistics() if live_provider else temp_provider.get_statistics(),
'enabled': self.config.is_provider_enabled(provider_name),
'rate_limit': self.config.get_rate_limit(provider_name),
'task_queue_size': len(self.task_queue),
'tasks_completed': self.indicators_completed,
'tasks_re_enqueued': self.tasks_re_enqueued,
}
except Exception as e:
print(f"✗ Failed to get info for provider from {filename}: {e}")