Skip to content

Commit 5d14022

Browse files
committed
refactor(multithread): set queue maxsize to 5000 and update task generation logic
1 parent f89437c commit 5d14022

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

bugscanx/modules/scanners/scanners/multithread.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def __exit__(self, exc_type, exc_val, exc_tb):
5252
class MultiThread(ABC):
5353
def __init__(self, threads=50):
5454
self._lock = RLock()
55-
self._queue = Queue()
55+
self._queue = Queue(maxsize=5000)
5656

5757
self._total = 0
5858
self._scanned = 0
@@ -78,8 +78,13 @@ def start(self):
7878
for t in workers:
7979
t.start()
8080

81-
for task in self.generate_tasks():
82-
self._queue.put(task)
81+
task_gen = self.generate_tasks()
82+
try:
83+
while True:
84+
task = next(task_gen)
85+
self._queue.put(task)
86+
except StopIteration:
87+
pass
8388

8489
self._queue.join()
8590
self.complete()

0 commit comments

Comments
 (0)