This addon adds an a grouper for queue jobs.
It allows to show your jobs in a batched form in order to know better the results.
Example:
from odoo import models, fields, api
from odoo.addons.queue_job.job import job
class MyModel(models.Model):
_name = 'my.model'
@api.multi
@job
def my_method(self, a, k=None):
_logger.info('executed with a: %s and k: %s', a, k)
class MyOtherModel(models.Model):
_name = 'my.other.model'
@api.multi
def button_do_stuff(self):
batch = self.env['queue.job.batch'].get_new_batch('Group')
for i in range(1, 100):
self.env['my.model'].with_context(
job_batch=batch
).with_delay().my_method('a', k=i)
batch.enqueue()
In the snippet of code above, when we call button_do_stuff
, 100 jobs
capturing the method and arguments will be postponed. It will be executed as
soon as the Jobrunner has a free bucket, which can be instantaneous if no other
job is running.
Once all the jobs have finished, the grouper will be marked as finished.
Table of contents
You can manage your batch jobs from the Systray. A new button will be shown with your currently executing job batches and the recently finished job groups.
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- Creu Blanca
- Enric Tobella <[email protected]>
- Trobz:
- Hoang Diep <[email protected]>
- ForgeFlow:
- Lois Rilo <[email protected]>
- Jasmin Solanki <[email protected]>
The migration of this module from 12.0 to 14.0 was financially supported by Camptocamp
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/queue project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.