在RabbitMQ中获取当前未确认的消费者消息

zf2sa74q  于 8个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(159)

我正在尝试优雅地关闭一个正在消耗RabbitMQ消息的进程。我知道我可以使用Channel.cancel来阻止RabbitMQ向进程发送任何新消息,但我还需要处理任何挂起的、未确认的消息。我可以只调用Channel.nackAll并将它们重新排队,但如果我可以等到所有挂起的消息(已使用但尚未确认/否定的消息)都完成,那就更好了。
有什么想法可以实现这一点吗?

wpx232ag

wpx232ag1#

  • 取消消费者
  • 当工作完成时,确认当前正在处理的消息
  • 完成上述操作后,关闭通道和连接。任何未确认的内容都将被RabbitMQ重新排队。

相关问题