sfRabbitPlugin is symfony 1.4 plugin that provides access to rabbitmq messaging system.
Now it's just backport of videlalvaro's symfony2 RabbitMqBundle and it uses unchanged videlalvaro's Thumper and tnc's php-amqplib backend.
It uses Consumer and Producer classes from thumper ( https://github.com/videlalvaro/Thumper ), but configures them via symfony yml configuration, so checkout thumper examples too!
$this->enablePlugins('sfRabbitPlugin');
producers:
test:
connection: default
exchange_options: {name: test_direct, type: direct}
try {
$producer = sfRabbit::getProducer('test');
$producer->publish(serialize($msg), $routing_key);
} catch (Exception $e){
sfContext::getInstance()->getLogger()->err($e);
}
class MsgHandler
{
public static function execute($msg)
{
$msg = unserialize($msg);
do_something_with_message($msg)
}
}
consumers:
test:
connection: default
exchange_options: {name: test_direct, type: direct}
queue_options: {name: test}
callback: MsgHandler
symfony rabbitmq:consumer test
you can find all optional arguments in source code