-
-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[15.0][ADD] queue_job_cron_jobrunner #415
[15.0][ADD] queue_job_cron_jobrunner #415
Conversation
defd5d9
to
d0b96a7
Compare
6ee2887
to
db8cefb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG and FTR we are testing it on odoo.sh these days ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
This PR has the |
@ivantodorovich wanna squash or we merge like this? |
db8cefb
to
43b27cb
Compare
@simahawk done ;) |
/ocabot merge nobump |
This PR looks fantastic, let's merge it! |
Congratulations, your PR was merged at d6a5c13. Thanks a lot for contributing to OCA. ❤️ |
For the record, this allows you to run jobs on the 'hybrid model of multiple threaded workers' of Odoo.sh as mentioned in #169, right? |
That's right, by getting rid of the job runner. Instead it uses async |
I've (tried to) create a backport from 15.0 to 14.0. As known, 14.0 does not feature the @ivantodorovich would be great if you could have a look at the PR. Thanks for the initial commit. |
Hi @amigrave, this is the module we spoke about in Brussels :) |
This module implements a simple
queue.job
runner usingir.cron
triggers.It's meant to be used on environments where the regular job runner can't be run, like on Odoo.sh.
Unlike the regular job runner, where jobs are dispatched to the HttpWorkers, jobs are processed on the CronWorker threads by the job runner crons. This is a design decision because:
For now, it only implements the most basic features of the
queue_job
runner, notably no channel capacity nor priorities.Please check the ROADMAP for further details.
For the easiest case, no configuration is required besides installing the module.
To avoid CronWorker CPU timeout from abruptly stopping the job processing cron, it's recommended to launch Odoo with
--limit-time-real-cron=0
, to disable the CronWorker timeout altogether. (In Odoo.sh, this is done by default)Parallel execution of jobs can be achieved by leveraging multiple
ir.cron
records:--max-cron-threads
)queue_job_cron
cron record as many times as needed, until you have as much records as cron workers.Related to:
ping @simahawk @guewen