Yii 1.1: yiiamqp

YiiAMQP is a fully functional AMQP producer and conusumer Yii application component.
12 followers

YiiAMQP

YiiAMQP is a fully functional AMQP producer and conusumer Yii application component.

Requirements

Tested with Yii version 1.1.13

Dependencies

This component has a number of critical dependencies in order to function properly. Given the broad range on possible applications of this component these dependencies have not been included.

Please ensure you install and configure these dependencies prior to the installation of YiiAMQP.

Quick Start

Clone the repo, git clone git://github.com/mteichtahl/YiiAMQP.git, or download the latest release.

Configure your application to use this component by adding and updating to match your needs the following configuration

components' => array(
        'rabbitMQ' => array(
            'class' => 'application.components.RabbitMQ.RabbitMQ',
            'server' => array(
                'host' => 'localhost',
                'port' => '5672',
                'vhost' => '/',
                'user' => 'guest',
                'password' => 'guest'
            )
        ),

Usage

Producer

Yii::app()->rabbitMQ->createConnection();
Yii::app()->rabbitMQ->declareQueue('mail');
Yii::app()->rabbitMQ->declareExchange('exchange.mailService', 'topic');
Yii::app()->rabbitMQ->bind('mail', 'exchange.mailService', 'mail');
Yii::app()->rabbitMQ->setQoS('0', '1', '0');
Yii::app()->rabbitMQ->sendJSONMessage('"test":"test"','mail');
Yii::app()->rabbitMQ->sendTextMessage('text message"','mail');

Consumer

Initialise the component

Yii::app()->rabbitMQ->declareExchange('exchange.mailService', 'topic');
Yii::app()->rabbitMQ->bind($queue, 'exchange.mailService', 'mail');
Yii::app()->rabbitMQ->setQoS('0', '1', '0');
Yii::app()->rabbitMQ->registerCallback(array($this, 'myCallback'));
Yii::app()->rabbitMQ->consume($queue, $this->id);
Yii::app()->rabbitMQ->wait();

Create the callback function

public static function myCallback($msg) { }

Contributing

Please submit all pull requests against *-wip branches. Thanks!

Bug tracker

If you find any bugs, please create an issue at https://github.com/mteichtahl/YiiAMQP/issues

Credits

  • gaAutoLoader [https://gist.github.com/mindplay-dk/4234540] Rasmus Schultz
  • CPSLiveLogRoute [http://www.pogostick.com] Jerry Ablan jablan@pogostick.com
  • php-amqplib [https://github.com/videlalvaro/php-amqplib] Vadim Zaliva lord@crocodile.org
  • rabbitMQ [http://www.rabbitmq.com/] VMWare

License

License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

Total 2 comments

#14101 report it
mteichtahl at 2013/07/18 05:00pm
using composer

Guzzle should be installed using composer

curl -sS https://getcomposer.org/installer | php php composer.phar install

#12854 report it
Alex Kireev at 2013/04/16 04:18am
wasting of time

What about Guzzle - its not found there

Leave a comment

Please to leave your comment.

Create extension
Downloads
No downloadable files yet