RabbitMQ with Odoo

by
Odoo

216.13

v 16.0 Third Party 12
Availability
Odoo Online
Odoo.sh
On Premise
Technical Name rabbitmq_connector
LicenseOPL-1
Websitehttps://ventor.tech
Versions 17.0 16.0 15.0 14.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Technical Name rabbitmq_connector
LicenseOPL-1
Websitehttps://ventor.tech
Versions 17.0 16.0 15.0 14.0

RabbitMQ Connector

by VentorTech

Quickly and easily configure communication between Odoo and other services of your Cloud Infrastructure by RabbitMQ

WATCH OUR DEMO HERE

 

Odoo RabbitMQ connector allows you to exchange messages between Odoo and your other applications (such as show site and etc.) much faster and simpler than with REST API.

RabbitMQ is a popular messaging broker - an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages - a safe place to live until received (more details here).

Features

Supporting Multiple Consumers

Possibility to define independent consumers that will be listening to the new messages

Easy Customizations

Designed to allow easy connection to any of your Odoomodelsl (custom or standard)

Supporting any environment configuration

Works both with credentials defined through the Odoo interface or Environment variables (e.g. in Kubernetes). Supporting RabbitMQ Cluster

Reliability and Scalability

Automatic recovery of any connections in the case of RabbitMQ disconnection or database disconnection. Tested on high-load environments

Supporting popular configurations

Most of the popular consumer and publisher options can be configured directly through the Odoo interface

Queue Job Integration

Supporting integration of message processing through the OCA Queue Job module. Requires separate free module


Architecture

What’s included in the price

  • RabbitMQ Connector
  • Regular updates, including new features

    We regularly release new functionality and fix bugs (if they occur) immediately. If you are familiar with our VentorTech products, you know how quickly we take care of everything.

  • Documentation

    Check the Documentation tab and hints (help texts) for settings.

  • High-quality code

    Enables extending your Odoo without fear of crashes (add new features, delivery integrations, install third-party modules, and so on).

  • Error logs

    Human readable error log helps to easily identify possible issues with sync.

  • Zero support cost

    Working with Odoo since 2011, we guarantee stability of our working products and a lack of unnecessary errors.

  • Bugfix

    We fix critical bugs that block you.

  • Customer Care Package is not included

    We can take care of all your VentorTech infrastructure. This can be provided as an additional service or as a subscription. Contact us for details – support@ventor.tech

Compatibility

  • Odoo Community and Enterprise
  • Third-party Odoo apps developed according to Odoo Enterprise standards
  • Easy scalable – no functional or performance limitations based on number of massages or used RabbitMQ instances

Installation and Configuration

The installation module requires the following knowledge:

  • How to install a module on your Odoo instance (self-hosted or odoo.sh)
  • Odoo technical knowledge

Module installation and configuration are not included in the module's price. Refer to the Documentation tab in the current module for installation details.

Requesting features and reporting bugs

If you have questions, need any help, or have a customizations request, please contact us at support@ventor.tech.

VentorTech Ecosystem

This Odoo QuickBooks Online connector is a part of the VentorTech ecosystem. It’s fully compatible with all products designed by VentorTech: Ventor, Odoo Direct Print, Odoo Shopify connector, Odoo PrestaShop connector, Odoo Magento 2 connector, Odoo MyParcel connector, Odoo WooCommerce connector, ZPL Label Designer, and other

About Developer

Our company

VentorTech sp. z o.o.

support@ventor.tech
al. Jerozolimskie 81 / 11.10, Warszaw, 02-001

POLAND

NIP: 9512525443
+48 789 338 655

Our team

Quick configuration guide

  1. Install the RabbitMQ Connector module on your Odoo server

  2. Install external dependencies by requirements.txt

  3. Modify your odoo.conf by following settings:

    [options]
    db_host=<db_host>
    db_port=<db_port>
    db_user=<db_user>
    db_password=<db_password>
    server_wide_modules=...,rabbitmq_connector,...
    
  4. For getting access to management RabbitMQ connections and other configurations add for your user group RabbitMQ Connector by Settings -> Users -> <YourUser>

  5. Configure outgoing or incoming connection by going to RabbitMQ Connector menu push Create button.

    1. Setup credentials for connecting to RabbitMQ by one of the following options:

      • Setup RabbitMQ <user>, <password>, <host>, <port> by user interface

      • By reading credentials from environment variables (Setup Is Use Env Vars = True and Env Number = <number> by interface)
        • Env Number = 0 will be used following environment variables:

          S_RABBITMQ_USER=<rabbitmq_user>
          S_RABBITMQ_PASSWORD=<rabbitmq_password>
          RABBITMQ_HOST=<rabbitmq_host>
          RABBITMQ_PORT=<rabbitmq_port>
          
        • Env Number = <number> will be used following environment variables:

          S_RABBITMQ_USER_<number>=<rabbitmq_user>
          S_RABBITMQ_PASSWORD_<number>=<rabbitmq_password>
          RABBITMQ_HOST_<number>=<rabbitmq_host>
          RABBITMQ_PORT_<number>=<rabbitmq_port>
          
    2. Fill in field Connector Type

      • Connector Type is Consumer

        1. Fill in specific RabbitMQ connection fields
        2. Fill in RabbitMQ Call Method that will handle incoming messages and fill in RabbitMQ Call Model that method will call from
        3. Activate connection by Active switcher
      • Connector Type is Producer

        1. Before configuration connection you should create binding between your producer and concrete RabbitMQ connection. Add rabbitmq_connector to yours module dependencies

        2. Create special binding record by xml:

          <data noupdate="0">
              <record id="your_producer_binding" model="rabbitmq.connector.bind">
                  <field name="name">Your producer binding</field>
              </record>
          </data>
          
        3. Integrate in your python method message publish code:

          binging = self.env.ref("your_module.your_producer_binding")
          binging.publish_message(body, msg_format)
          

          If you have only one publisher, you can use default binding:

          binging = self.env.ref("rabbitmq_connector.default_producer_binding")
          binging.publish_message(body, msg_format)
          
        4. Create connection and fill in specific RabbitMQ connection fields

        5. Activate connection by Active switcher

        6. Go to RabbitMQ Connector -> RabbitMQ Connector Binds and match your bindings with yours connectors

Now RabbitMQ is ready to consume and publish messages


Changelog


1.0.1 (2023-03-31)

  • Initial version.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
There are no ratings yet!
by
YIDIDIYA GEBREDINGEL
on 8/19/23, 11:45 AM

Dear Vendor Tech Team,

I hope this email finds you well. I am interested in purchasing the RabbitMQ Connector module for Odoo, as found at the following link: **https://apps.odoo.com/apps/modules/16.0/rabbitmq_connector/**. However, before finalizing my purchase, I would appreciate it if you could provide me with some detailed insights into its capabilities.

My primary objective for seeking this module is to enable real-time synchronization of events between Odoo and my external RabbitMQ setup. Specifically, I would like to know if I can automatically publish events to RabbitMQ whenever certain activities occur within my Odoo system. These activities include, but are not limited to:

  1. Changes within the inventory module.
  2. Stock movements.
  3. Sales that impact my stock levels.

In essence, my goal is to ensure that every significant event that affects my stock levels in Odoo can be instantly mirrored to RabbitMQ. This would greatly aid in maintaining real-time accuracy in stock-level calculations.

Could you please affirm whether the RabbitMQ Connector module supports these functionalities? Your confirmation will assist in ensuring that the module meets my requirements and will be a valuable addition to our system.

Thank you for your time and assistance. I look forward to hearing from you soon.

Best Regards,

Re:
by
Oleg Kuryan
on 8/21/23, 10:54 AM Author

Thank you for the interest in our module. Using our connector you can achieve this functionality. Actually we are using it for our customer in Kubernetes environment where Odoo is only 1 among 20 other systems. And we are sending: (1) stock (2) picking (3) sales order status change to rabbitmq

Of course you will need to program this functionality yourself. Because this module is framework that allows you to make it simple. It is rather simple. You will just need in necessary place of code publish needed message like in example below (also available in README of the module)

binging = self.env.ref("rabbitmq_connector.default_producer_binding")
binging.publish_message(body, msg_format)

Let me know if it answers your question!