-
-
Notifications
You must be signed in to change notification settings - Fork 477
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
[Feature] Concurrent job runners #2
Comments
IMO the best way to implement this would be a Message Broker, such as RabbitMQ. We would just need to advertise to and ingest from a simple Work queue. In the event of the master down, an Alternate Exchange would do nicely I think. |
Some proposal after functional testing
Odoo optionally uses gevent for the bus. So the dependency is already there. Maybe gevent.queue can be used with that purpose. |
Elect a master jobrunner allowing to work, the other ones wait and one of them takes over if the master is down Could this be done via a database lock? Eg. each Odoo instance regularly tries to grab a database lock by which to become the master job runner; if it succeeds, it becomes, if not, does nothing and tries again after a while. |
Something like this: https://github.com/OCA/OCB/blob/11.0/odoo/addons/base/ir/ir_cron.py#L209 |
Hi @thomaspaulb you might want to have a look at #256 :) |
@nilshamerlinck I actually just found that one too haha, thanks. |
There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. |
In a use case with several hosts running Odoo, we might want either to:
The text was updated successfully, but these errors were encountered: