diff --git a/README.md b/README.md
index 7662abac7b..da9a0d92b4 100644
--- a/README.md
+++ b/README.md
@@ -22,12 +22,12 @@ Available addons
addon | version | maintainers | summary
--- | --- | --- | ---
[base_import_async](base_import_async/) | 18.0.1.0.0 | | Import CSV files in the background
-[queue_job](queue_job/) | 18.0.2.0.8 |
| Job Queue
+[queue_job](queue_job/) | 18.0.2.0.9 |
| Job Queue
[queue_job_batch](queue_job_batch/) | 18.0.1.0.0 | | Job Queue Batch
[queue_job_cron](queue_job_cron/) | 18.0.1.1.1 | | Scheduled Actions as Queue Jobs
[queue_job_cron_jobrunner](queue_job_cron_jobrunner/) | 18.0.1.0.1 |
| Run jobs without a dedicated JobRunner
[queue_job_subscribe](queue_job_subscribe/) | 18.0.1.0.0 | | Control which users are subscribed to queue job notifications
-[test_queue_job](test_queue_job/) | 18.0.2.0.2 |
| Queue Job Tests
+[test_queue_job](test_queue_job/) | 18.0.2.0.3 |
| Queue Job Tests
[test_queue_job_batch](test_queue_job_batch/) | 18.0.1.0.0 | | Test Job Queue Batch
[//]: # (end addons)
diff --git a/queue_job/README.rst b/queue_job/README.rst
index c53bd635bf..75bcae726b 100644
--- a/queue_job/README.rst
+++ b/queue_job/README.rst
@@ -11,7 +11,7 @@ Job Queue
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:b6e7440cf7bc258be59e8814bdaa4176e0afd49f6e512ae408299cb8d7f7e327
+ !! source digest: sha256:cd9ade034691986e8d79244a8bc187bb5e0831a8c2f876484ff978a05c09ae32
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
diff --git a/queue_job/__manifest__.py b/queue_job/__manifest__.py
index 978356cfd7..06fb6f7b80 100644
--- a/queue_job/__manifest__.py
+++ b/queue_job/__manifest__.py
@@ -2,7 +2,7 @@
{
"name": "Job Queue",
- "version": "18.0.2.0.8",
+ "version": "18.0.2.0.9",
"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 28f3534848..ecdff1b8eb 100644
--- a/queue_job/controllers/main.py
+++ b/queue_job/controllers/main.py
@@ -41,7 +41,7 @@ def _acquire_job(cls, env: api.Environment, job_uuid: str) -> Job | None:
"""
env.cr.execute(
"SELECT uuid FROM queue_job WHERE uuid=%s AND state=%s "
- "FOR UPDATE SKIP LOCKED",
+ "FOR NO KEY UPDATE SKIP LOCKED",
(job_uuid, ENQUEUED),
)
if not env.cr.fetchone():
diff --git a/queue_job/job.py b/queue_job/job.py
index 4c78072508..b6cb190355 100644
--- a/queue_job/job.py
+++ b/queue_job/job.py
@@ -263,7 +263,7 @@ def lock(self) -> bool:
uuid = %s
AND state = %s
)
- FOR UPDATE SKIP LOCKED;
+ FOR NO KEY UPDATE SKIP LOCKED;
""",
[self.uuid, STARTED],
)
diff --git a/queue_job/jobrunner/runner.py b/queue_job/jobrunner/runner.py
index 44ae785bc1..073044fb23 100644
--- a/queue_job/jobrunner/runner.py
+++ b/queue_job/jobrunner/runner.py
@@ -367,7 +367,7 @@ def _query_requeue_dead_jobs(self):
queue_job_lock
WHERE
queue_job_lock.queue_job_id = queue_job.id
- FOR UPDATE SKIP LOCKED
+ FOR NO KEY UPDATE SKIP LOCKED
)
OR NOT EXISTS (
SELECT
diff --git a/queue_job/static/description/index.html b/queue_job/static/description/index.html
index 6bdbe38f03..e9e46d51d3 100644
--- a/queue_job/static/description/index.html
+++ b/queue_job/static/description/index.html
@@ -372,7 +372,7 @@
This addon adds an integrated Job Queue to Odoo.
diff --git a/test_queue_job/__manifest__.py b/test_queue_job/__manifest__.py index d909d231b1..73db3ad122 100644 --- a/test_queue_job/__manifest__.py +++ b/test_queue_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Queue Job Tests", - "version": "18.0.2.0.2", + "version": "18.0.2.0.3", "author": "Camptocamp,Odoo Community Association (OCA)", "license": "LGPL-3", "category": "Generic Modules", diff --git a/test_queue_job/tests/test_requeue_dead_job.py b/test_queue_job/tests/test_requeue_dead_job.py index 510276be63..a267c43c87 100644 --- a/test_queue_job/tests/test_requeue_dead_job.py +++ b/test_queue_job/tests/test_requeue_dead_job.py @@ -35,7 +35,7 @@ def get_locks(self, uuid, cr=None): WHERE uuid = %s ) - FOR UPDATE SKIP LOCKED + FOR NO KEY UPDATE SKIP LOCKED """, [uuid], )