forumhouseteam/xenforo-amqp

This package is abandoned and no longer maintained. The author suggests using the fhteam/xenforo-amqp package instead.

AMQP library for using in XenForo addons

v1.0.0 2015-03-04 08:53 UTC

This package is not auto-updated.

Last update: 2019-02-20 18:21:29 UTC


README

AMQP client library for XenForo to use servers like RabbitMQ from XenForo

Installation

Please do note, that package name has changed to fhteam/xenforo-amqp. Old name should still work though it will no longer be maintained.

Library follows PSR4 so installation is a bit different from what we can see in all XenForo addons

So, to use this library you can directly include the script into your source or do the following:

Configuration

Put the following lines at the end of your library/config.php:

//============ AMQP connector settings ============
$config['amqp'] = array(
    'host' => '192.168.1.1.1',          // The host where your AMPQ-compatible server runs
    'port' => '5672',                   // Port, your server runs on
    'user' => 'user',                   // Authentication user name 
    'password' => 'password',           // Authentication password
    'queues' => array(                  // Queues configuration
        'auth_ban' => array(            // The name of the queue
            'queue_flags' => array(     // Queue flags.
                'durable' => true,      // 'durable' means the queue will survice server reboot
            ), 
        ),
    ),
);

Usage:

  • Create manager instance:
$manager = new \Forumhouse\XenForoAmqp\QueueManager();
  • Push a message to queue:
$manager->pushMessage(
    'my_queue_name',                // The name of the queue. Must be in configuration file (see above)
    array('data' => 'test_data'),   // The data to send to the queue. Will be json_encode'd if array is provided
    array('delivery_mode' => 2)     // Message properties. 'delivery_mode' => 2 makes message persistent
);