RabbitMQ在接收新消息之前消耗一条消息

nx7onnlm  于 12个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(169)

如果我将消息发送到我的服务中的一个任务,并从RabbitMQ“Received”回调返回,我会立即得到一个新的回调。这不是有意的,因为我的服务将作为一个新的队列工作,并使新的工作者的产卵更少无用,因为第一个服务已经出队的所有消息。
我可以在python示例中看到,回调函数在完成时会确认消息,但C#不会。此确认床可用于阻塞新消息,直到当前消息处理完毕。
还发现用信号量阻塞“接收”事件函数,直到处理完成,非常非常笨拙。

wz1wpwve

wz1wpwve1#

您需要将使用者预取设置为1:https://www.rabbitmq.com/consumer-prefetch.html
完成后确认消息,您将收到下一条消息。

相关问题