Skip to content
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

[18.0][MIG] queue_job_batch, test_queue_job_batch: Migration to 18.0 #744

Open
wants to merge 22 commits into
base: 18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d48b29f
[ADD] queue_job_batch
etobella Jul 9, 2019
53ef01b
[11.0][FIX] queue_job_batch: view all in the systray not working
LoisRForgeFlow Jul 10, 2019
196b897
[11.0][FIX] queue_job_batch:
LoisRForgeFlow Jul 12, 2019
564db17
[MIG] queue_job_batch, test_queue_job_batch: Migration to 12.0
LoisRForgeFlow Oct 31, 2019
0144e1d
[12.0] [FIX] Allow users from group queue_job_batch_user to write on …
qgroulard Jan 2, 2020
11141d0
Added translation using Weblate (French)
ypapouin Nov 20, 2020
f1f7e6e
[IMP] queue_job_batch, test_queue_job_batch: black, isort, prettier
anothingguy Dec 3, 2021
f25e1bd
[14.0][MIG] queue_job_batch, test_queue_job_batch: Migration to 14.0
anothingguy Dec 3, 2021
c1786ee
[MIG] queue_job_batch, test_queue_job_batch: Migration to 15.0
amh-mw Jan 22, 2023
e1d0fb1
[IMP] queue_job_batch, test_queue_job_batch: black, isort, prettier
JasminSForgeFlow Nov 1, 2023
64befc2
[MIG] queue_job_batch, test_queue_job_batch: Migration to 16.0
JasminSForgeFlow Nov 9, 2023
9995386
Added translation using Weblate (Spanish)
Ivorra78 Dec 1, 2023
dab33fa
Added translation using Weblate (Italian)
mymage Jan 9, 2024
5cb212e
[IMP] queue_job_batch: Fix systray icon visibility for allowed group …
JasminSForgeFlow Mar 18, 2024
c2b7ee6
[IMP] queue_job_batch, test_queue_job_batch: black, isort, prettier
anothingguy Dec 3, 2021
5e45eb1
[14.0][MIG] queue_job_batch, test_queue_job_batch: Migration to 14.0
anothingguy Dec 3, 2021
1982009
[MIG] queue_job_batch, test_queue_job_batch: Migration to 15.0
amh-mw Jan 22, 2023
30354ba
[IMP] queue_job_batch, test_queue_job_batch: black, isort, prettier
JasminSForgeFlow Nov 1, 2023
ef9ca9a
[MIG] queue_job_batch, test_queue_job_batch: Migration to 16.0
JasminSForgeFlow Nov 9, 2023
0268593
Added translation using Weblate (Italian)
mymage Jan 9, 2024
6c76dd5
[IMP] queue_job_batch, test_queue_job_batch: pre-commit auto fixes
yankinmax Jan 8, 2025
752c650
[MIG] queue_job_batch, test_queue_job_batch: Migration to 18.0
yankinmax Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 137 additions & 0 deletions queue_job_batch/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
===============
Job Queue Batch
===============

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:7eceb569ec18547f2b64717734aecc66c0db338d51e13d6f1324785c6c2f8407
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fqueue-lightgray.png?logo=github
:target: https://github.com/OCA/queue/tree/18.0/queue_job_batch
:alt: OCA/queue
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/queue-18-0/queue-18-0-queue_job_batch
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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:

.. code:: python

from odoo import models, fields, api


class MyModel(models.Model):
_name = 'my.model'

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')
model = self.env['my.model'].with_context(job_batch=batch)
for i in range(1, 100):
model.with_delay().my_method('a', k=i)

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**

.. contents::
:local:

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 <https://github.com/OCA/queue/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 <https://github.com/OCA/queue/issues/new?body=module:%20queue_job_batch%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Creu Blanca

Contributors
------------

- Enric Tobella <[email protected]>

- `Trobz <https://trobz.com>`__:

- Hoang Diep <[email protected]>

- `ForgeFlow <https://forgeflow.com>`__:

- Lois Rilo <[email protected]>
- Jasmin Solanki <[email protected]>

- `Camptocamp <https://camptocamp.com>`__:

- Maksym Yankin <[email protected]>
- Iván Todorovich <[email protected]>

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.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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 <https://github.com/OCA/queue/tree/18.0/queue_job_batch>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions queue_job_batch/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import controllers
from . import models
33 changes: 33 additions & 0 deletions queue_job_batch/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2019 Creu Blanca
# Copyright 2023 ForgeFlow S.L. (http://www.forgeflow.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)

{
"name": "Job Queue Batch",
"version": "18.0.1.0.0",
"author": "Creu Blanca,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/queue",
"license": "AGPL-3",
"category": "Generic Modules",
"depends": [
"queue_job",
],
"data": [
# data
"data/queue_job_channel_data.xml",
"data/queue_job_function_data.xml",
# security
"security/security.xml",
"security/ir.model.access.csv",
# views
"views/queue_job_views.xml",
"views/queue_job_batch_views.xml",
],
"assets": {
"web.assets_backend": [
"queue_job_batch/static/src/**/*.js",
"queue_job_batch/static/src/**/*.xml",
"queue_job_batch/static/src/**/*.scss",
],
},
}
1 change: 1 addition & 0 deletions queue_job_batch/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import webclient
23 changes: 23 additions & 0 deletions queue_job_batch/controllers/webclient.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2025 Camptocamp SA (https://www.camptocamp.com).
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo.http import request

from odoo.addons.mail.controllers.webclient import WebclientController


class WebClient(WebclientController):
def _process_request_for_internal_user(self, store, **kwargs):
res = super()._process_request_for_internal_user(store, **kwargs)

Check warning on line 11 in queue_job_batch/controllers/webclient.py

View check run for this annotation

Codecov / codecov/patch

queue_job_batch/controllers/webclient.py#L11

Added line #L11 was not covered by tests
if kwargs.get("systray_get_queue_job_batches"):
# sudo: bus.bus: reading non-sensitive last id
bus_last_id = request.env["bus.bus"].sudo()._bus_last_id()
batches = request.env.user._get_queue_job_batches()
store.add(batches)
store.add(

Check warning on line 17 in queue_job_batch/controllers/webclient.py

View check run for this annotation

Codecov / codecov/patch

queue_job_batch/controllers/webclient.py#L14-L17

Added lines #L14 - L17 were not covered by tests
{
"queueJobBatchCounter": len(batches),
"queueJobBatchCounterBusId": bus_last_id,
}
)
return res

Check warning on line 23 in queue_job_batch/controllers/webclient.py

View check run for this annotation

Codecov / codecov/patch

queue_job_batch/controllers/webclient.py#L23

Added line #L23 was not covered by tests
6 changes: 6 additions & 0 deletions queue_job_batch/data/queue_job_channel_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<odoo noupdate="1">
<record model="queue.job.channel" id="channel_queue_job_batch">
<field name="name">queue.job.batch</field>
<field name="parent_id" ref="queue_job.channel_root" />
</record>
</odoo>
7 changes: 7 additions & 0 deletions queue_job_batch/data/queue_job_function_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<odoo noupdate="1">
<record id="job_function_queue_job_check_state" model="queue.job.function">
<field name="model_id" ref="queue_job_batch.model_queue_job_batch" />
<field name="channel_id" ref="queue_job_batch.channel_queue_job_batch" />
<field name="method">check_state</field>
</record>
</odoo>
Loading
Loading