exs / silex-rabbitmq-provider
Silex2的Rabbitmq消息提供者包
dev-master / 1.0.x-dev
2015-07-23 17:05 UTC
Requires
- silex/silex: ~2.0@dev
This package is auto-updated.
Last update: 2024-08-29 04:04:55 UTC
README
这是一个非常简单的提供者,用于从silex 2.x应用程序中读取(消费)/写入(发布)到rabbitmq。
在Silex项目中安装EXS-silex-rabbitmq-provider
安装过程实际上非常简单。使用Composer设置Silex项目。
一旦新项目设置完成,打开composer.json文件,并将exs/silex-rabbitmq-provider添加为依赖项
//composer.json //... "require": { //other bundles "exs/silex-rabbitmq-provider": "@dev"
或者,您也可以通过命令行添加它
$ composer.phar require exs/silex-rabbitmq-provider ~1.0@dev
保存文件,并通过命令行使用composer更新项目
php composer.phar update
Composer将现在更新所有依赖项,您应该在列表中看到我们的包
- Installing exs/silex-rabbitmq-provider (dev-master 463eb20) Cloning 463eb2081e7205e7556f6f65224c6ba9631e070a
更新app.php以包含EXS-silex-rabbitmq-provider提供者
//app.php //... $app->register(new \EXS\RabbitmqProvider\Providers\Services\RabbitmqProvider());
在config.php中更新您的rabbitmq连接和环境
//... // Rabbit MQ connection $app['rabbit.connections'] = array( 'default' => array( 'host' => 'localhost', 'port' => 5672, 'user' => 'REPLACE_YOUR_USER_NAME', 'password' => 'REPLACE_YOUR_PASSWORD', 'vhost' => 'REPLACE_YOUR_VHOST_NAME' ) ); // rabbitmq provider environment $app['exs.rabbitmq.env'] = array( 'exchange' => 'REPLACE_EXCHANGE_NAME', 'type' => 'REPLACE_EXCHANGE_TYPE', 'queue' => 'REPLACE_QUEUE_NAME', 'key' => 'REPLACE_ROUTING_KEY_NAME' ); //...
使用方法
向新的交换队列发布消息
//... use EXS\RabbitmqProvider\Services\PostmanService; $postman = new PostmanService(); //Publish messages to the new exchange queue $postman->publish($YOUR_MESSAGE_HERE, false); //Publish messages to the existing exchange queue by other rabbitmq bundle $postman->publish($YOUR_MESSAGE_HERE); or $postman->publish($YOUR_MESSAGE_HERE, true); // setting isDeclared parameter to true will declare the new exchange queue if it doesn't exist. //...
从队列中消费消息
//... use EXS\RabbitmqProvider\Services\ConsumerService; $consumer = new ConsumerService(); // Get all messages from the queue $messages = $this->consumerService->consumeAll(); // Get 1000 messages from the queue $messages = $this->consumerService->consumeWithLimit(1000); // Get all messages from the existing exchange queue by other rabbitmq bundle $messages = $this->consumerService->consumeAll(false); or // Get 1000 messages from the new echange queue $messages = $this->consumerService->consumeWithLimit(1000, false); // setting isDeclared parameter to true will declare the new exchange queue if it doesn't exist //...
现在您可以使用rabbitmq发布和消费消息。
注意
此提供者不支持多个交换或队列。
贡献
欢迎任何人和每个人贡献。
如果您有任何问题或建议,请告诉我们。