From 7b83bd25d305620b53dd4ef931990f3903daf81b Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 23 Jan 2026 15:17:00 +0100 Subject: [PATCH] [FIX] Don't try to enqueue dependent jobs when job failed --- queue_job/controllers/main.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index ecdff1b8eb..f7c3da394d 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -17,7 +17,7 @@ from ..delay import chain, group from ..exception import FailedJobError, RetryableJobError -from ..job import ENQUEUED, Job +from ..job import DONE, ENQUEUED, Job _logger = logging.getLogger(__name__) @@ -155,9 +155,12 @@ def retry_postpone(job, message, seconds=None): buff.close() raise - _logger.debug("%s enqueue depends started", job) - cls._enqueue_dependent_jobs(env, job) - _logger.debug("%s enqueue depends done", job) + if job.state == DONE: + # if not, then job.env.cr could be closed + # besides, we would not want to trigger dependent jobs anyway + _logger.debug("%s enqueue depends started", job) + cls._enqueue_dependent_jobs(env, job) + _logger.debug("%s enqueue depends done", job) @classmethod def _get_failure_values(cls, job, traceback_txt, orig_exception):