diff --git a/queue_job/__manifest__.py b/queue_job/__manifest__.py index 7b9db132cf..ddc19b44da 100644 --- a/queue_job/__manifest__.py +++ b/queue_job/__manifest__.py @@ -2,7 +2,7 @@ {'name': 'Job Queue', - 'version': '12.0.4.1.0', + 'version': '12.0.4.1.1', 'author': 'Camptocamp,ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://github.com/OCA/queue', 'license': 'LGPL-3', diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index e47461eab0..8cbdb61f46 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -148,6 +148,12 @@ def retry_postpone(job, message, seconds=None): # traceback in the logs we should have the traceback when all # retries are exhausted env.cr.rollback() + # A postponed job is not done: it must not release its dependent + # jobs. Returning here also avoids calling _enqueue_dependent_jobs + # with job.env pointing to the now-closed cursor that + # retry_postpone() opened and closed, which would raise + # "Unable to use a closed cursor". + return "" except (FailedJobError, Exception) as orig_exception: buff = StringIO()