From b7bcdc31228f83aff2a32b45299ca037343e988a Mon Sep 17 00:00:00 2001 From: Florent Xicluna Date: Mon, 2 Jun 2025 09:17:30 +0200 Subject: [PATCH] [IMP] queue_job: cancel job before it retries --- queue_job/job.py | 11 +++ queue_job/views/queue_job_views.xml | 2 +- queue_job/wizards/queue_jobs_to_cancelled.py | 2 +- test_queue_job/tests/test_job.py | 78 ++++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) diff --git a/queue_job/job.py b/queue_job/job.py index e486d1f001..995cf16972 100644 --- a/queue_job/job.py +++ b/queue_job/job.py @@ -591,6 +591,17 @@ def store(self): db_record = self.db_record() if db_record: + # If job was cancelled manually, do not revive it for a retry + if ( + self.retry > 0 + and db_record.state == CANCELLED + and self.state in (PENDING, FAILED) + ): + self.state = CANCELLED + self.date_cancelled = db_record.date_cancelled + if not self.result and db_record.result: + self.result = db_record.result + db_record.with_context(_job_edit_sentinel=edit_sentinel).write( self._store_values() ) diff --git a/queue_job/views/queue_job_views.xml b/queue_job/views/queue_job_views.xml index 8cab20b2c0..2ffda83132 100644 --- a/queue_job/views/queue_job_views.xml +++ b/queue_job/views/queue_job_views.xml @@ -25,7 +25,7 @@ />