The Drupal 8 module uses the Queue API to declare and send data to a queue, and it's primary focus is to allow developers to integrate data submission with RabbitMQ.
Queues and exchanges are both supported.
When configured via
rabbitmq.config.yml (see the example module), sending data to the queue is as easy as
// Some data to send off to the queue $data = array('apples', 'oranges'); // Get the queue config $queue_factory = \Drupal::service('queue'); $queue = $queue_factory->get('queue1'); // Send data to the queue $queue->createItem($data);
To test RabbitMQ from your Drupal site, enable the
rabbitmq_example module and following the instructions from the README.
To test RabbitMQ, the module provides a list of Drush commands to help out with queue processing and queue information.
The Drupal RabbitMQ modules requires the php-amqplib library to run.
Download the source code from https://github.com/videlalvaro/php-amqplib/tree/v1.0
Extract the source at either sites/all/modules/rabbitmq/php-amqplib or sites/all/libraries/php-amqplib. Rabbit will otherwise fail if it can't find the libraries it needs.
You'll need provide connection credentials in the form of an array using either Drupal's
$conf global variable in settings.php or using variable_set(). E.g.
Option 1. Define in settings.php.
global $conf; $conf['rabbitmq_credentials'] = array( 'host' => 'localhost', 'port' => 5672, 'username' => 'guest', 'password' => 'guest', );
Option 2. Manually set one time with variable_set().
variable_set('rabbitmq_credentials', array( 'host' => 'localhost', 'port' => 5672, 'username' => 'guest', 'password' => 'guest', ));
Set RabbitMQ as the queing system for the queues you want RabbitMQ
// Set all queues to use RabbitMQ variable_set('queue_default_class', 'RabbitMQQueue');
// Set a specific queue. variable_set('queue_class_', 'RabbitMQQueue');
Originally developed by Josh Waihi for Drupal 7 and fgm for the initial Drupal 8 port. Please help out so this module becomes the standard for integration with the Rabbit MQ service.
- Maintenance status: Actively maintained
- Development status: Under active development
- Module categories: Developer, Import/Export, Performance and Scalability, Third-party Integration
- Reported installs: 27 sites currently report using this module. View usage statistics.
- Downloads: 820
- Last modified: July 17, 2016