Community mailing list archives

Re: Odoo Connector VS Celery (Rabbit MQ or Redis)

Camptocamp SA, Guewen Baconnier - Software Developer, Camptocamp
- 02/05/2016 07:10:44

Disclaimer: I am the one of the author of the OCA's Odoo Connector.

I experienced a bit using Celery [0] before to start the connector addon.

One of the most important difference between the 2 approaches is that the OCA connector jobs are created in the current Postgres transaction, so if your transaction fails and is rollbacked, the new jobs will never be executed because they are rollbacked too. Then, as jobs are usual Odoo models, their integration  and the views/wizards that can be build upon them is easier. Lastly, using Postgres as backend for the jobs means that you don't need an additional tool to maintain.

We use the OCA Connector for syncing data between systems and the synchronizations are almost real time [1] thanks to postgres NOTIFY [2].

I don't have any metrics regarding the number of jobs you can execute during a day (which would largely depends of what you do in a job). If you plan to have hundreds of thousands of messages per day, you would maybe be more safe with a true message queue like RabbitMQ/Redis using Celery which are designed for that.
[1] as far as you run enough channels to execute jobs, otherwise jobs will be waiting on the others

Guewen Baconnier
Business Solutions Software Developer

Camptocamp SA
PSE A, CH-1015 Lausanne
Phone: +41 21 619 10 39
Office: +41 21 619 10 10

On Fri, Feb 5, 2016 at 11:21 AM, Kitti U. <> wrote:

We are choosing between OCA's Odoo Connector and Celery. Both are Message Queue system.

> The main application is to sync master data between different systems and Odoo in almost real time.

> The second application is to improve user experiences on performance, on where problem is, i..e, import bit data files, etc.

Anyone has experience using Celery with Odoo?

In your opinion, which one is better. What about Performance and Maintainability?

Mobile: +66-(0)8-1841-7480
Your ERP Partner =>

Post to: