RabbitMQ消费者需求?

vic*_*arq 7 rabbitmq consumer

我希望消费者在每次收到消息时执行某些操作.消费者必须全天候"监听"队列,或者只有在收到适当的消息时才能运行它吗?

rob*_*olf 1

我不确定你的问题是否有意义。消息只能由队列的使用者从队列接收。要知道消息是否在队列中,必须查看队列。做到这一点的唯一方法就是成为消费者。

如果您确实需要,可以有一个运行管理插件命令行界面的脚本。这可以轮询队列,当队列的大小大于 1 时,可以启动一个程序来运行消费者以从队列中消费。

这些都没有任何意义。如果它只是等待队列而不执行任何其他操作,那么它几乎不会消耗任何资源,所以我不知道 24/7 运行消费者会出现什么问题。

当然,消费者不必 24/7 运行,这是 MQ 要点的一部分。它是异步的。当生产者写入队列时,消费者不必运行。因此,您可以有一个计划任务来定期运行您的使用者以检查和处理来自队列的消息。但我认为这不是你想要的。

监听的要点是:在消息到来之前什么也不做,处理消息,在下一个消息到来之前什么都不做。这就是你想要的问题的第一句话。为什么听力有问题?