# Job Queue Batch

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

- Usage
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Other credits
  - Maintainers

# Usage

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.

# Bug Tracker

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.

# Credits

## Authors

- Creu Blanca

## Contributors

- Enric Tobella <etobella@creublanca.es>
- Trobz:
    - Hoang Diep <hoang@trobz.com>
- ForgeFlow:
    - Lois Rilo <lois.rilo@forgeflow.com>
    - Jasmin Solanki <jasmin.solanki@forgeflow.com>

## Other credits

The migration of this module from 12.0 to 14.0 was financially supported by Camptocamp

## Maintainers

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.