diff --git a/trytond/trytond/worker.py b/trytond/trytond/worker.py index d9777c53b9..b1ed119c47 100644 --- a/trytond/trytond/worker.py +++ b/trytond/trytond/worker.py @@ -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