diff --git a/core/scanner.py b/core/scanner.py index 4bea7e4..9599752 100644 --- a/core/scanner.py +++ b/core/scanner.py @@ -71,6 +71,7 @@ class Scanner: self.tasks_skipped = 0 # BUGFIX: Initialize tasks_skipped self.total_tasks_ever_enqueued = 0 self.current_indicator = "" + self.last_task_from_queue = None # Concurrent processing configuration self.max_workers = self.config.max_concurrent_requests @@ -210,6 +211,7 @@ class Scanner: CYAN = "\033[96m" GREEN = "\033[92m" YELLOW = "\033[93m" + BLUE = "\033[94m" ENDC = "\033[0m" BOLD = "\033[1m" @@ -234,6 +236,9 @@ class Scanner: if status_str != last_status_str: print(f"\n{'-'*80}") print(status_str) + if self.last_task_from_queue: + p, pn, ti, d = self.last_task_from_queue + print(f"{BLUE}Last task dequeued -> Prio:{p} | Provider:{pn} | Target:'{ti}' | Depth:{d}{ENDC}") if in_flight_tasks: print(f"{BOLD}{YELLOW}Currently Processing:{ENDC}") # Display up to 3 currently processing tasks @@ -308,6 +313,7 @@ class Scanner: self.tasks_re_enqueued = 0 self.total_tasks_ever_enqueued = 0 self.current_indicator = self.current_target + self.last_task_from_queue = None self._update_session_state() self.logger = new_session() @@ -367,6 +373,7 @@ class Scanner: while not self.task_queue.empty() and not self._is_stop_requested(): try: priority, (provider_name, target_item, depth) = self.task_queue.get() + self.last_task_from_queue = (priority, provider_name, target_item, depth) except IndexError: break