【发布时间】:2020-03-11 16:28:00
【问题描述】:
我正在尝试优雅地关闭一个从 RabbitMQ 消耗消息的进程。我知道我可以使用Channel.cancel 来阻止 RabbitMQ 向进程发送任何新消息,但我还需要处理任何待处理的、未确认的消息。我可以直接调用Channel.nackAll 并将它们全部重新排队,但如果我可以等到所有待处理的消息(已被消费但尚未确认/确认的消息)完成后会更好。
任何想法如何实现这一目标?
【问题讨论】:
我正在尝试优雅地关闭一个从 RabbitMQ 消耗消息的进程。我知道我可以使用Channel.cancel 来阻止 RabbitMQ 向进程发送任何新消息,但我还需要处理任何待处理的、未确认的消息。我可以直接调用Channel.nackAll 并将它们全部重新排队,但如果我可以等到所有待处理的消息(已被消费但尚未确认/确认的消息)完成后会更好。
任何想法如何实现这一目标?
【问题讨论】:
注意:RabbitMQ 团队会监控 rabbitmq-users mailing list,并且仅有时会回答 * 上的问题。
【讨论】: