33< head >
44< meta http-equiv ="Content-Type " content ="text/html; charset=utf-8 " />
55< meta name ="generator " content ="Docutils: https://docutils.sourceforge.io/ " />
6- < title > README.rst </ title >
6+ < title > Job Queue </ title >
77< style type ="text/css ">
88
99/*
360360</ style >
361361</ head >
362362< body >
363- < div class ="document ">
363+ < div class ="document " id ="job-queue ">
364+ < h1 class ="title "> Job Queue</ h1 >
364365
365-
366- < a class ="reference external image-reference " href ="https://odoo-community.org/get-involved?utm_source=readme ">
367- < img alt ="Odoo Community Association " src ="https://odoo-community.org/readme-banner-image " />
368- </ a >
369- < div class ="section " id ="job-queue ">
370- < h1 > Job Queue</ h1 >
371366<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
372367!! This file is generated by oca-gen-addon-readme !!
373368!! changes will be overwritten. !!
374369!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
375370!! source digest: sha256:b92d06dbbf161572f2bf02e0c6a59282cea11cc5e903378094bead986f0125de
376371!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
377- < p > < a class ="reference external image-reference " href ="https://odoo-community.org/page/development-status "> < img alt ="Mature " src ="https://img.shields.io/badge/maturity-Mature-brightgreen.png " /> </ a > < a class ="reference external image-reference " href ="http://www.gnu.org/licenses/lgpl-3.0-standalone.html "> < img alt ="License: LGPL-3 " src ="https://img.shields.io/badge/license-LGPL--3-blue.png " /> </ a > < a class ="reference external image-reference " href ="https://github.com/OCA/queue/tree/16.0/queue_job "> < img alt ="OCA/queue " src ="https://img.shields.io/badge/github-OCA%2Fqueue-lightgray.png?logo=github " /> </ a > < a class ="reference external image-reference " href ="https://translation.odoo-community.org/projects/queue-16-0/queue-16-0-queue_job "> < img alt ="Translate me on Weblate " src ="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png " /> </ a > < a class ="reference external image-reference " href ="https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=16.0 "> < img alt ="Try me on Runboat " src ="https://img.shields.io/badge/runboat-Try%20me-875A7B.png " /> </ a > </ p >
372+ < p > < a class ="reference external image-reference " href ="https://odoo-community.org/page/development-status "> < img alt ="Mature " src ="https://img.shields.io/badge/maturity-Mature-brightgreen.png " /> </ a > < a class ="reference external image-reference " href ="http://www.gnu.org/licenses/lgpl-3.0-standalone.html "> < img alt ="License: LGPL-3 " src ="https://img.shields.io/badge/licence-LGPL--3-blue.png " /> </ a > < a class ="reference external image-reference " href ="https://github.com/OCA/queue/tree/16.0/queue_job "> < img alt ="OCA/queue " src ="https://img.shields.io/badge/github-OCA%2Fqueue-lightgray.png?logo=github " /> </ a > < a class ="reference external image-reference " href ="https://translation.odoo-community.org/projects/queue-16-0/queue-16-0-queue_job "> < img alt ="Translate me on Weblate " src ="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png " /> </ a > < a class ="reference external image-reference " href ="https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=16.0 "> < img alt ="Try me on Runboat " src ="https://img.shields.io/badge/runboat-Try%20me-875A7B.png " /> </ a > </ p >
378373< p > This addon adds an integrated Job Queue to Odoo.</ p >
379374< p > It allows to postpone method calls executed asynchronously.</ p >
380375< p > Jobs are executed in the background by a < tt class ="docutils literal "> Jobrunner</ tt > , in their own transaction.</ p >
@@ -446,11 +441,11 @@ <h1>Job Queue</h1>
446441</ ul >
447442</ div >
448443< div class ="section " id ="installation ">
449- < h2 > < a class ="toc-backref " href ="#toc-entry-1 "> Installation</ a > </ h2 >
444+ < h1 > < a class ="toc-backref " href ="#toc-entry-1 "> Installation</ a > </ h1 >
450445< p > Be sure to have the < tt class ="docutils literal "> requests</ tt > library.</ p >
451446</ div >
452447< div class ="section " id ="configuration ">
453- < h2 > < a class ="toc-backref " href ="#toc-entry-2 "> Configuration</ a > </ h2 >
448+ < h1 > < a class ="toc-backref " href ="#toc-entry-2 "> Configuration</ a > </ h1 >
454449< ul class ="simple ">
455450< li > Using environment variables and command line:< ul >
456451< li > Adjust environment variables (optional):< ul >
@@ -506,15 +501,15 @@ <h2><a class="toc-backref" href="#toc-entry-2">Configuration</a></h2>
506501</ ul >
507502</ div >
508503< div class ="section " id ="usage ">
509- < h2 > < a class ="toc-backref " href ="#toc-entry-3 "> Usage</ a > </ h2 >
504+ < h1 > < a class ="toc-backref " href ="#toc-entry-3 "> Usage</ a > </ h1 >
510505< p > To use this module, you need to:</ p >
511506< ol class ="arabic simple ">
512507< li > Go to < tt class ="docutils literal "> Job Queue</ tt > menu</ li >
513508</ ol >
514509< div class ="section " id ="developers ">
515- < h3 > < a class ="toc-backref " href ="#toc-entry-4 "> Developers</ a > </ h3 >
510+ < h2 > < a class ="toc-backref " href ="#toc-entry-4 "> Developers</ a > </ h2 >
516511< div class ="section " id ="delaying-jobs ">
517- < h4 > < a class ="toc-backref " href ="#toc-entry-5 "> Delaying jobs</ a > </ h4 >
512+ < h3 > < a class ="toc-backref " href ="#toc-entry-5 "> Delaying jobs</ a > </ h3 >
518513< p > The fast way to enqueue a job for a method is to use < tt class ="docutils literal "> with_delay()</ tt > on a record
519514or model:</ p >
520515< pre class ="code python literal-block ">
@@ -626,7 +621,7 @@ <h4><a class="toc-backref" href="#toc-entry-5">Delaying jobs</a></h4>
626621</ pre >
627622</ div >
628623< div class ="section " id ="enqueing-job-options ">
629- < h4 > < a class ="toc-backref " href ="#toc-entry-6 "> Enqueing Job Options</ a > </ h4 >
624+ < h3 > < a class ="toc-backref " href ="#toc-entry-6 "> Enqueing Job Options</ a > </ h3 >
630625< ul class ="simple ">
631626< li > priority: default is 10, the closest it is to 0, the faster it will be
632627executed</ li >
@@ -643,7 +638,7 @@ <h4><a class="toc-backref" href="#toc-entry-6">Enqueing Job Options</a></h4>
643638</ ul >
644639</ div >
645640< div class ="section " id ="configure-default-options-for-jobs ">
646- < h4 > < a class ="toc-backref " href ="#toc-entry-7 "> Configure default options for jobs</ a > </ h4 >
641+ < h3 > < a class ="toc-backref " href ="#toc-entry-7 "> Configure default options for jobs</ a > </ h3 >
647642< p > In earlier versions, jobs could be configured using the < tt class ="docutils literal "> @job</ tt > decorator.
648643This is now obsolete, they can be configured using optional < tt class ="docutils literal "> queue.job.function</ tt >
649644and < tt class ="docutils literal "> queue.job.channel</ tt > XML records.</ p >
@@ -764,7 +759,7 @@ <h4><a class="toc-backref" href="#toc-entry-7">Configure default options for job
764759without delaying any jobs.</ p >
765760</ div >
766761< div class ="section " id ="testing ">
767- < h4 > < a class ="toc-backref " href ="#toc-entry-8 "> Testing</ a > </ h4 >
762+ < h3 > < a class ="toc-backref " href ="#toc-entry-8 "> Testing</ a > </ h3 >
768763< p > < strong > Asserting enqueued jobs</ strong > </ p >
769764< p > The recommended way to test jobs, rather than running them directly and synchronously is to
770765split the tests in two parts:</ p >
@@ -884,14 +879,14 @@ <h4><a class="toc-backref" href="#toc-entry-8">Testing</a></h4>
884879</ div >
885880</ div >
886881< div class ="section " id ="tips-and-tricks ">
887- < h4 > < a class ="toc-backref " href ="#toc-entry-9 "> Tips and tricks</ a > </ h4 >
882+ < h3 > < a class ="toc-backref " href ="#toc-entry-9 "> Tips and tricks</ a > </ h3 >
888883< ul class ="simple ">
889884< li > < strong > Idempotency</ strong > (< a class ="reference external " href ="https://www.restapitutorial.com/lessons/idempotency.html "> https://www.restapitutorial.com/lessons/idempotency.html</ a > ): The queue_job should be idempotent so they can be retried several times without impact on the data.</ li >
890885< li > < strong > The job should test at the very beginning its relevance</ strong > : the moment the job will be executed is unknown by design. So the first task of a job should be to check if the related work is still relevant at the moment of the execution.</ li >
891886</ ul >
892887</ div >
893888< div class ="section " id ="patterns ">
894- < h4 > < a class ="toc-backref " href ="#toc-entry-10 "> Patterns</ a > </ h4 >
889+ < h3 > < a class ="toc-backref " href ="#toc-entry-10 "> Patterns</ a > </ h3 >
895890< p > Through the time, two main patterns emerged:</ p >
896891< ol class ="arabic simple ">
897892< li > For data exposed to users, a model should store the data and the model should be the creator of the job. The job is kept hidden from the users</ li >
@@ -901,7 +896,7 @@ <h4><a class="toc-backref" href="#toc-entry-10">Patterns</a></h4>
901896</ div >
902897</ div >
903898< div class ="section " id ="known-issues-roadmap ">
904- < h2 > < a class ="toc-backref " href ="#toc-entry-11 "> Known issues / Roadmap</ a > </ h2 >
899+ < h1 > < a class ="toc-backref " href ="#toc-entry-11 "> Known issues / Roadmap</ a > </ h1 >
905900< ul class ="simple ">
906901< li > After creating a new database or installing < tt class ="docutils literal "> queue_job</ tt > on an
907902existing database, Odoo must be restarted for the runner to detect it.</ li >
@@ -922,7 +917,7 @@ <h2><a class="toc-backref" href="#toc-entry-11">Known issues / Roadmap</a></h2>
922917</ pre >
923918</ div >
924919< div class ="section " id ="changelog ">
925- < h2 > < a class ="toc-backref " href ="#toc-entry-12 "> Changelog</ a > </ h2 >
920+ < h1 > < a class ="toc-backref " href ="#toc-entry-12 "> Changelog</ a > </ h1 >
926921<!-- [ The change log. The goal of this file is to help readers
927922understand changes between version. The primary audience is
928923end users and integrators. Purely technical changes such as
@@ -933,7 +928,7 @@ <h2><a class="toc-backref" href="#toc-entry-12">Changelog</a></h2>
933928forbidden and will likely break the structure of the README.rst
934929or other documents where this fragment is included. ] -->
935930< div class ="section " id ="next ">
936- < h3 > < a class ="toc-backref " href ="#toc-entry-13 "> Next</ a > </ h3 >
931+ < h2 > < a class ="toc-backref " href ="#toc-entry-13 "> Next</ a > </ h2 >
937932< ul class ="simple ">
938933< li > [ADD] Run jobrunner as a worker process instead of a thread in the main
939934process (when running with –workers > 0)</ li >
@@ -944,24 +939,24 @@ <h3><a class="toc-backref" href="#toc-entry-13">Next</a></h3>
944939</ div >
945940</ div >
946941< div class ="section " id ="bug-tracker ">
947- < h2 > < a class ="toc-backref " href ="#toc-entry-14 "> Bug Tracker</ a > </ h2 >
942+ < h1 > < a class ="toc-backref " href ="#toc-entry-14 "> Bug Tracker</ a > </ h1 >
948943< p > Bugs are tracked on < a class ="reference external " href ="https://github.com/OCA/queue/issues "> GitHub Issues</ a > .
949944In case of trouble, please check there if your issue has already been reported.
950945If you spotted it first, help us to smash it by providing a detailed and welcomed
951946< a class ="reference external " href ="https://github.com/OCA/queue/issues/new?body=module:%20queue_job%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior** "> feedback</ a > .</ p >
952947< p > Do not contact contributors directly about support or help with technical issues.</ p >
953948</ div >
954949< div class ="section " id ="credits ">
955- < h2 > < a class ="toc-backref " href ="#toc-entry-15 "> Credits</ a > </ h2 >
950+ < h1 > < a class ="toc-backref " href ="#toc-entry-15 "> Credits</ a > </ h1 >
956951< div class ="section " id ="authors ">
957- < h3 > < a class ="toc-backref " href ="#toc-entry-16 "> Authors</ a > </ h3 >
952+ < h2 > < a class ="toc-backref " href ="#toc-entry-16 "> Authors</ a > </ h2 >
958953< ul class ="simple ">
959954< li > Camptocamp</ li >
960955< li > ACSONE SA/NV</ li >
961956</ ul >
962957</ div >
963958< div class ="section " id ="contributors ">
964- < h3 > < a class ="toc-backref " href ="#toc-entry-17 "> Contributors</ a > </ h3 >
959+ < h2 > < a class ="toc-backref " href ="#toc-entry-17 "> Contributors</ a > </ h2 >
965960< ul class ="simple ">
966961< li > Guewen Baconnier << a class ="reference external " href ="mailto:guewen.baconnier@camptocamp.com "> guewen.baconnier@camptocamp.com</ a > ></ li >
967962< li > Stéphane Bidoul << a class ="reference external " href ="mailto:stephane.bidoul@acsone.eu "> stephane.bidoul@acsone.eu</ a > ></ li >
@@ -978,21 +973,20 @@ <h3><a class="toc-backref" href="#toc-entry-17">Contributors</a></h3>
978973</ ul >
979974</ div >
980975< div class ="section " id ="maintainers ">
981- < h3 > < a class ="toc-backref " href ="#toc-entry-18 "> Maintainers</ a > </ h3 >
976+ < h2 > < a class ="toc-backref " href ="#toc-entry-18 "> Maintainers</ a > </ h2 >
982977< p > This module is maintained by the OCA.</ p >
983978< a class ="reference external image-reference " href ="https://odoo-community.org ">
984979< img alt ="Odoo Community Association " src ="https://odoo-community.org/logo.png " />
985980</ a >
986981< p > OCA, or the Odoo Community Association, is a nonprofit organization whose
987982mission is to support the collaborative development of Odoo features and
988983promote its widespread use.</ p >
989- < p > Current < a class ="reference external " href ="https://odoo-community.org/page/maintainer-role "> maintainer </ a > :</ p >
990- < p > < a class ="reference external image-reference " href ="https://github.com/guewen "> < img alt ="guewen " src ="https://github.com/guewen.png?size=40px " /> </ a > </ p >
984+ < p > Current < a class ="reference external " href ="https://odoo-community.org/page/maintainer-role "> maintainers </ a > :</ p >
985+ < p > < a class ="reference external image-reference " href ="https://github.com/guewen "> < img alt ="guewen " src ="https://github.com/guewen.png?size=40px " /> </ a > < a class =" reference external image-reference " href =" https://github.com/sbidoul " > < img alt =" sbidoul " src =" https://github.com/sbidoul.png?size=40px " /> </ a > </ p >
991986< p > This module is part of the < a class ="reference external " href ="https://github.com/OCA/queue/tree/16.0/queue_job "> OCA/queue</ a > project on GitHub.</ p >
992987< p > You are welcome to contribute. To learn how please visit < a class ="reference external " href ="https://odoo-community.org/page/Contribute "> https://odoo-community.org/page/Contribute</ a > .</ p >
993988</ div >
994989</ div >
995990</ div >
996- </ div >
997991</ body >
998992</ html >
0 commit comments