Reset timeout loop of worker on each iteration
If there was a next task planned very soon, this should not become the default timeout for future loop. issue11913 review415971003 (grafted from 10426538d63f736318c9eb5028cf34d423701422) --HG-- branch : 6.0
This commit is contained in:
1 parent
01238f5a3c
commit
b3b49f3379
1 file changed
+3
-3
@@ -62,15 +62,15 @@ def work(options):
|
||||
queues = [Queue(name, mpool) for name in options.database_names]
|
||||
|
||||
tasks = TaskList()
|
||||
timeout = options.timeout
|
||||
try:
|
||||
while True:
|
||||
timeout = options.timeout
|
||||
while len(tasks.filter()) >= processes:
|
||||
time.sleep(0.1)
|
||||
for queue in queues:
|
||||
task_id, next_ = queue.pull(options.name)
|
||||
timeout = min(
|
||||
next_ or options.timeout, timeout, options.timeout)
|
||||
if next_ is not None:
|
||||
timeout = min(next_, timeout)
|
||||
if task_id:
|
||||
tasks.append(queue.run(task_id))
|
||||
break
|
||||
|
||||
Reference in new issue
Block a user