From 5c16114fbe20bcc41c54dcc3b3e63937a2f97b71 Mon Sep 17 00:00:00 2001 From: Ross Golder Date: Wed, 11 Feb 2026 09:46:24 +0700 Subject: [PATCH 1/2] Make queue_job/controllers/main.py compatible with Python 3.9 Replace Job | None with Optional[Job] and add typing import. --- queue_job/controllers/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index adc450d52..fde1a296f 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -11,6 +11,8 @@ from psycopg2 import OperationalError, errorcodes from werkzeug.exceptions import BadRequest, Forbidden +from typing import Optional + from odoo import SUPERUSER_ID, _, api, http, registry, tools from odoo.service.model import PG_CONCURRENCY_ERRORS_TO_RETRY @@ -27,7 +29,7 @@ class RunJobController(http.Controller): @classmethod - def _acquire_job(cls, env: api.Environment, job_uuid: str) -> Job | None: + def _acquire_job(cls, env: api.Environment, job_uuid: str) -> Optional[Job]: """Acquire a job for execution. - make sure it is in ENQUEUED state From b9795601a8a5ebf57f1bd3ef80081fdf25e4d984 Mon Sep 17 00:00:00 2001 From: Ross Golder Date: Thu, 12 Feb 2026 06:12:54 +0700 Subject: [PATCH 2/2] Move import to satisfy CI. --- queue_job/controllers/main.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index fde1a296f..51f91794b 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -7,12 +7,11 @@ import time import traceback from io import StringIO +from typing import Optional from psycopg2 import OperationalError, errorcodes from werkzeug.exceptions import BadRequest, Forbidden -from typing import Optional - from odoo import SUPERUSER_ID, _, api, http, registry, tools from odoo.service.model import PG_CONCURRENCY_ERRORS_TO_RETRY