diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index f9f2206b2b..de388f51da 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -89,9 +89,8 @@ def retry_postpone(job, message, seconds=None): if err.pgcode not in PG_CONCURRENCY_ERRORS_TO_RETRY: raise - retry_postpone(job, tools.ustr(err.pgerror, errors='replace'), - seconds=PG_RETRY) _logger.debug('%s OperationalError, postponed', job) + raise RetryableJobError(tools.ustr(err.pgerror, errors='replace'), seconds=PG_RETRY) except NothingToDoJob as err: if str(err): @@ -106,6 +105,7 @@ def retry_postpone(job, message, seconds=None): # delay the job later, requeue retry_postpone(job, str(err), seconds=err.seconds) _logger.debug('%s postponed', job) + raise except (FailedJobError, Exception): buff = StringIO()