如何设置消费者开始一次并永远不间断地继续。

时间:2015-07-08 09:05:12

标签: php rabbitmq amqp php-amqplib

我是RabbitMQ的新手,使用RabbitMQ 3.5.3,Erlang R14B04和Alvaro Videla(https://github.com/videlalvaro/php-amqplib)的库在RabbitMQ中进行排队。 我需要让消费者一直保持活力,而不是生产者。 这背后的简单逻辑是,我通过cron运行我的生产者。在生成队列之后,不需要保持生产者连接的活动。但工人或消费者将被启动一次。这种联系永远不会消亡。

如果这也是由cron完成的话,我总会在一天结束时找到一长串消费者关系,这很烦人,而且不可取。

所以这里的妙语是:

1。每次生成队列并通过cron关闭连接。

2。消费者开始了一次并且永远持续下去排队的任何内容都会立即消耗。

这个架构可以在我的系统中构建。我需要做些什么必要的改变。

1 个答案:

答案 0 :(得分:0)

阅读你的描述很难说些什么,或者我只是不理解你的问题。但我会建立应用程序,如果有什么东西到达,每1秒或3秒检查兔子

消费

createConnectionToRabbit
while (true) {
  checkConnectionStillAlive
  fetchDataFromQueue
  doProcessData
  sleep(3)
}
closeConnection

生产者

createConnectionToRabbit
sendDataToRabbit
closeConnection