7

我希望消费者每次收到消息时都执行一些操作。消费者必须 24/7 全天候“监听”队列,还是只能在收到适当消息时运行?

4

1 回答 1

1

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

如果你真的想要,你可以有一个脚本来运行管理插件的命令行界面。这可以轮询队列,当它的大小超过 1 时,可以启动一个程序,该程序将运行消费者从队列中消费。

这些都没有任何意义。如果它只是坐着等待队列并且什么都不做,那么它几乎不会消耗任何资源,所以我看不出问题会出现在 24/7 运行消费者。

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

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

于 2012-11-05T16:23:24.377 回答