changeset fce8ad4a6828 in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset;node=fce8ad4a6828
description:
        Add sleep and logging on run_task without worker

        issue9325
        review293701002
diffstat:

 trytond/worker.py |  5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diffs (23 lines):

diff -r 6845ead3108d -r fce8ad4a6828 trytond/worker.py
--- a/trytond/worker.py Thu May 21 09:06:10 2020 +0200
+++ b/trytond/worker.py Fri May 22 11:25:01 2020 +0200
@@ -99,8 +99,8 @@
         pool = Pool(pool)
     Queue = pool.get('ir.queue')
     logger.info('task "%d" started', task_id)
+    retry = config.getint('database', 'retry')
     try:
-        retry = config.getint('database', 'retry')
         for count in range(retry, -1, -1):
             if count != retry:
                 time.sleep(0.02 * (retry - count))
@@ -120,6 +120,9 @@
                     raise
         logger.info('task "%d" done', task_id)
     except backend.DatabaseOperationalError:
+        logger.info('task "%d" failed, retrying', task_id, exc_info=True)
+        if not config.getboolean('queue', 'worker', default=False):
+            time.sleep(0.02 * retry)
         try:
             with Transaction().start(pool.database_name, 0) as transaction:
                 task = Queue(task_id)

Reply via email to