diff --git a/trytond/trytond/worker.py b/trytond/trytond/worker.py index ede6fd9ab5..546e607462 100644 --- a/trytond/trytond/worker.py +++ b/trytond/trytond/worker.py @@ -75,7 +75,10 @@ def work(options): while len(tasks.filter()) >= processes: time.sleep(0.1) for queue in queues: - task_id, next_ = queue.pull(options.name) + try: + task_id, next_ = queue.pull(options.name) + except backend.DatabaseOperationalError: + break if next_ is not None: timeout = min(next_, timeout) if task_id: