From d1f1db6d1227b32f0b6dee8246285074f936cdfd Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Fri, 24 Jul 2026 20:34:04 +0200 Subject: [PATCH 1/2] [IMP] edi_queue_oca: Update exchange record on failed jobs Rely on new on fail hooks from the queue job module. --- edi_queue_oca/models/edi_exchange_record.py | 33 ++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/edi_queue_oca/models/edi_exchange_record.py b/edi_queue_oca/models/edi_exchange_record.py index c8ddeff7d..aca3108c3 100644 --- a/edi_queue_oca/models/edi_exchange_record.py +++ b/edi_queue_oca/models/edi_exchange_record.py @@ -36,7 +36,16 @@ def _register_hook(self): return super()._register_hook() def action_exchange_send_job_options(self): - return {"priority": 0} + return {"priority": 0, "on_fail_method": self._send_job_failed_hook} + + def action_exchange_receive_job_options(self): + return {"on_fail_method": self._receive_job_failed_hook} + + def action_exchange_process_job_options(self): + return {"on_fail_method": self._process_job_failed_hook} + + def action_exchange_generate_job_options(self): + return {"on_fail_method": self._generate_job_failed_hook} def _job_delay_params(self): params = {} @@ -102,3 +111,25 @@ def action_exchange_generate_send_chained(self): # Raise prio to max to send the record out as fast as possible. job1.on_done(self.delayable(priority=0).action_exchange_send()) job1.delay() + + def _generate_job_failed_hook(self, **kw): + return self._job_failed_hook("validate_error", kw=kw) + + def _send_job_failed_hook(self, **kw): + return self._job_failed_hook("output_error_on_send", kw=kw) + + def _receive_job_failed_hook(self, **kw): + return self._job_failed_hook("input_receive_error", kw=kw) + + def _process_job_failed_hook(self, **kw): + return self._job_failed_hook("input_processed_error", kw=kw) + + def _job_failed_hook(self, failed_state, **kw): + self.ensure_one() + self.write( + { + "edi_exchange_state": failed_state, + "exchange_error": ": ".join(kw["exc_name"], kw["exc_message"]), + "exchange_error_traceback": kw["exc_info"], + } + ) From 743075a34724e901cf827aa2021dc0715a67de04 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Fri, 24 Jul 2026 20:38:25 +0200 Subject: [PATCH 2/2] [FIXME] test-requirements.txt --- test-requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..cc626322b --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +odoo-addon-queue_job @ git+https://github.com/OCA/queue.git@refs/pull/955/head#subdirectory=queue_job