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 > Job Queue </ title >
6+ < title > README.rst </ title >
77< style type ="text/css ">
88
99/*
360360</ style >
361361</ head >
362362< body >
363- < div class ="document " id ="job-queue ">
364- < h1 class ="title "> Job Queue</ h1 >
363+ < div class ="document ">
365364
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 >
366371<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
367372!! This file is generated by oca-gen-addon-readme !!
368373!! changes will be overwritten. !!
369374!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370- !! source digest: sha256:0b61ae169205114262bbac28e15c8729ea4056e5f2d2c08e8f38adbe479da264
375+ !! source digest: sha256:e22967325c726ef5615e7300f58beca9929bb005e13d92f8c5404fac2a2dffb0
371376!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
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/18.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-18-0/queue-18-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=18.0 "> < img alt ="Try me on Runboat " src ="https://img.shields.io/badge/runboat-Try%20me-875A7B.png " /> </ a > </ p >
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/18.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-18-0/queue-18-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=18.0 "> < img alt ="Try me on Runboat " src ="https://img.shields.io/badge/runboat-Try%20me-875A7B.png " /> </ a > </ p >
373378< p > This addon adds an integrated Job Queue to Odoo.</ p >
374379< p > It allows to postpone method calls executed asynchronously.</ p >
375380< p > Jobs are executed in the background by a < tt class ="docutils literal "> Jobrunner</ tt > , in their own
@@ -446,7 +451,7 @@ <h1 class="title">Job Queue</h1>
446451</ ul >
447452</ div >
448453< div class ="section " id ="use-cases-context ">
449- < h1 > < a class ="toc-backref " href ="#toc-entry-1 "> Use Cases / Context</ a > </ h1 >
454+ < h2 > < a class ="toc-backref " href ="#toc-entry-1 "> Use Cases / Context</ a > </ h2 >
450455< p > Odoo treats task synchronously, like when you import a list of products
451456it will treat each line in one big task. “Queue job” gives you the
452457ability to detail big tasks in many smaller ones.</ p >
@@ -474,11 +479,11 @@ <h1><a class="toc-backref" href="#toc-entry-1">Use Cases / Context</a></h1>
474479</ ul >
475480</ div >
476481< div class ="section " id ="installation ">
477- < h1 > < a class ="toc-backref " href ="#toc-entry-2 "> Installation</ a > </ h1 >
482+ < h2 > < a class ="toc-backref " href ="#toc-entry-2 "> Installation</ a > </ h2 >
478483< p > Be sure to have the < tt class ="docutils literal "> requests</ tt > library.</ p >
479484</ div >
480485< div class ="section " id ="configuration ">
481- < h1 > < a class ="toc-backref " href ="#toc-entry-3 "> Configuration</ a > </ h1 >
486+ < h2 > < a class ="toc-backref " href ="#toc-entry-3 "> Configuration</ a > </ h2 >
482487< ul class ="simple ">
483488< li > Using environment variables and command line:< ul >
484489< li > Adjust environment variables (optional):< ul >
@@ -541,15 +546,15 @@ <h1><a class="toc-backref" href="#toc-entry-3">Configuration</a></h1>
541546</ table >
542547</ div >
543548< div class ="section " id ="usage ">
544- < h1 > < a class ="toc-backref " href ="#toc-entry-4 "> Usage</ a > </ h1 >
549+ < h2 > < a class ="toc-backref " href ="#toc-entry-4 "> Usage</ a > </ h2 >
545550< p > To use this module, you need to:</ p >
546551< ol class ="arabic simple ">
547552< li > Go to < tt class ="docutils literal "> Job Queue</ tt > menu</ li >
548553</ ol >
549554< div class ="section " id ="developers ">
550- < h2 > < a class ="toc-backref " href ="#toc-entry-5 "> Developers</ a > </ h2 >
555+ < h3 > < a class ="toc-backref " href ="#toc-entry-5 "> Developers</ a > </ h3 >
551556< div class ="section " id ="delaying-jobs ">
552- < h3 > < a class ="toc-backref " href ="#toc-entry-6 "> Delaying jobs</ a > </ h3 >
557+ < h4 > < a class ="toc-backref " href ="#toc-entry-6 "> Delaying jobs</ a > </ h4 >
553558< p > The fast way to enqueue a job for a method is to use < tt class ="docutils literal "> with_delay()</ tt > on
554559a record or model:</ p >
555560< pre class ="code python literal-block ">
@@ -669,7 +674,7 @@ <h3><a class="toc-backref" href="#toc-entry-6">Delaying jobs</a></h3>
669674</ pre >
670675</ div >
671676< div class ="section " id ="enqueing-job-options ">
672- < h3 > < a class ="toc-backref " href ="#toc-entry-7 "> Enqueing Job Options</ a > </ h3 >
677+ < h4 > < a class ="toc-backref " href ="#toc-entry-7 "> Enqueing Job Options</ a > </ h4 >
673678< ul class ="simple ">
674679< li > priority: default is 10, the closest it is to 0, the faster it will be
675680executed</ li >
@@ -688,7 +693,7 @@ <h3><a class="toc-backref" href="#toc-entry-7">Enqueing Job Options</a></h3>
688693</ ul >
689694</ div >
690695< div class ="section " id ="configure-default-options-for-jobs ">
691- < h3 > < a class ="toc-backref " href ="#toc-entry-8 "> Configure default options for jobs</ a > </ h3 >
696+ < h4 > < a class ="toc-backref " href ="#toc-entry-8 "> Configure default options for jobs</ a > </ h4 >
692697< p > In earlier versions, jobs could be configured using the < tt class ="docutils literal "> @job</ tt >
693698decorator. This is now obsolete, they can be configured using optional
694699< tt class ="docutils literal "> queue.job.function</ tt > and < tt class ="docutils literal "> queue.job.channel</ tt > XML records.</ p >
@@ -816,7 +821,7 @@ <h3><a class="toc-backref" href="#toc-entry-8">Configure default options for job
816821delaying any jobs.</ p >
817822</ div >
818823< div class ="section " id ="testing ">
819- < h3 > < a class ="toc-backref " href ="#toc-entry-9 "> Testing</ a > </ h3 >
824+ < h4 > < a class ="toc-backref " href ="#toc-entry-9 "> Testing</ a > </ h4 >
820825< p > < strong > Asserting enqueued jobs</ strong > </ p >
821826< p > The recommended way to test jobs, rather than running them directly and
822827synchronously is to split the tests in two parts:</ p >
@@ -931,7 +936,7 @@ <h3><a class="toc-backref" href="#toc-entry-9">Testing</a></h3>
931936synchronously</ p >
932937</ div >
933938< div class ="section " id ="tips-and-tricks ">
934- < h3 > < a class ="toc-backref " href ="#toc-entry-10 "> Tips and tricks</ a > </ h3 >
939+ < h4 > < a class ="toc-backref " href ="#toc-entry-10 "> Tips and tricks</ a > </ h4 >
935940< ul class ="simple ">
936941< li > < strong > Idempotency</ strong >
937942(< a class ="reference external " href ="https://www.restapitutorial.com/lessons/idempotency.html "> https://www.restapitutorial.com/lessons/idempotency.html</ a > ): The
@@ -944,7 +949,7 @@ <h3><a class="toc-backref" href="#toc-entry-10">Tips and tricks</a></h3>
944949</ ul >
945950</ div >
946951< div class ="section " id ="patterns ">
947- < h3 > < a class ="toc-backref " href ="#toc-entry-11 "> Patterns</ a > </ h3 >
952+ < h4 > < a class ="toc-backref " href ="#toc-entry-11 "> Patterns</ a > </ h4 >
948953< p > Through the time, two main patterns emerged:</ p >
949954< ol class ="arabic simple ">
950955< li > For data exposed to users, a model should store the data and the
@@ -958,16 +963,16 @@ <h3><a class="toc-backref" href="#toc-entry-11">Patterns</a></h3>
958963</ div >
959964</ div >
960965< div class ="section " id ="known-issues-roadmap ">
961- < h1 > < a class ="toc-backref " href ="#toc-entry-12 "> Known issues / Roadmap</ a > </ h1 >
966+ < h2 > < a class ="toc-backref " href ="#toc-entry-12 "> Known issues / Roadmap</ a > </ h2 >
962967< ul class ="simple ">
963968< li > After creating a new database or installing < tt class ="docutils literal "> queue_job</ tt > on an
964969existing database, Odoo must be restarted for the runner to detect it.</ li >
965970</ ul >
966971</ div >
967972< div class ="section " id ="changelog ">
968- < h1 > < a class ="toc-backref " href ="#toc-entry-13 "> Changelog</ a > </ h1 >
973+ < h2 > < a class ="toc-backref " href ="#toc-entry-13 "> Changelog</ a > </ h2 >
969974< div class ="section " id ="next ">
970- < h2 > < a class ="toc-backref " href ="#toc-entry-14 "> Next</ a > </ h2 >
975+ < h3 > < a class ="toc-backref " href ="#toc-entry-14 "> Next</ a > </ h3 >
971976< ul class ="simple ">
972977< li > [ADD] Run jobrunner as a worker process instead of a thread in the
973978main process (when running with –workers > 0)</ li >
@@ -978,24 +983,24 @@ <h2><a class="toc-backref" href="#toc-entry-14">Next</a></h2>
978983</ div >
979984</ div >
980985< div class ="section " id ="bug-tracker ">
981- < h1 > < a class ="toc-backref " href ="#toc-entry-15 "> Bug Tracker</ a > </ h1 >
986+ < h2 > < a class ="toc-backref " href ="#toc-entry-15 "> Bug Tracker</ a > </ h2 >
982987< p > Bugs are tracked on < a class ="reference external " href ="https://github.com/OCA/queue/issues "> GitHub Issues</ a > .
983988In case of trouble, please check there if your issue has already been reported.
984989If you spotted it first, help us to smash it by providing a detailed and welcomed
985990< a class ="reference external " href ="https://github.com/OCA/queue/issues/new?body=module:%20queue_job%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior** "> feedback</ a > .</ p >
986991< p > Do not contact contributors directly about support or help with technical issues.</ p >
987992</ div >
988993< div class ="section " id ="credits ">
989- < h1 > < a class ="toc-backref " href ="#toc-entry-16 "> Credits</ a > </ h1 >
994+ < h2 > < a class ="toc-backref " href ="#toc-entry-16 "> Credits</ a > </ h2 >
990995< div class ="section " id ="authors ">
991- < h2 > < a class ="toc-backref " href ="#toc-entry-17 "> Authors</ a > </ h2 >
996+ < h3 > < a class ="toc-backref " href ="#toc-entry-17 "> Authors</ a > </ h3 >
992997< ul class ="simple ">
993998< li > Camptocamp</ li >
994999< li > ACSONE SA/NV</ li >
9951000</ ul >
9961001</ div >
9971002< div class ="section " id ="contributors ">
998- < h2 > < a class ="toc-backref " href ="#toc-entry-18 "> Contributors</ a > </ h2 >
1003+ < h3 > < a class ="toc-backref " href ="#toc-entry-18 "> Contributors</ a > </ h3 >
9991004< ul class ="simple ">
10001005< li > Guewen Baconnier << a class ="reference external " href ="mailto:guewen.baconnier@camptocamp.com "> guewen.baconnier@camptocamp.com</ a > ></ li >
10011006< li > Stéphane Bidoul << a class ="reference external " href ="mailto:stephane.bidoul@acsone.eu "> stephane.bidoul@acsone.eu</ a > ></ li >
@@ -1015,12 +1020,12 @@ <h2><a class="toc-backref" href="#toc-entry-18">Contributors</a></h2>
10151020</ ul >
10161021</ div >
10171022< div class ="section " id ="other-credits ">
1018- < h2 > < a class ="toc-backref " href ="#toc-entry-19 "> Other credits</ a > </ h2 >
1023+ < h3 > < a class ="toc-backref " href ="#toc-entry-19 "> Other credits</ a > </ h3 >
10191024< p > The migration of this module from 17.0 to 18.0 was financially supported
10201025by Camptocamp.</ p >
10211026</ div >
10221027< div class ="section " id ="maintainers ">
1023- < h2 > < a class ="toc-backref " href ="#toc-entry-20 "> Maintainers</ a > </ h2 >
1028+ < h3 > < a class ="toc-backref " href ="#toc-entry-20 "> Maintainers</ a > </ h3 >
10241029< p > This module is maintained by the OCA.</ p >
10251030< a class ="reference external image-reference " href ="https://odoo-community.org ">
10261031< img alt ="Odoo Community Association " src ="https://odoo-community.org/logo.png " />
@@ -1035,5 +1040,6 @@ <h2><a class="toc-backref" href="#toc-entry-20">Maintainers</a></h2>
10351040</ div >
10361041</ div >
10371042</ div >
1043+ </ div >
10381044</ body >
10391045</ html >
0 commit comments