【发布时间】:2016-08-15 09:30:34
【问题描述】:
我了解带有 ack 的 RabbitMQ,默认情况下,如果检测到消费者/工作者已经死亡,它将重新排队消息。
consumer/worker 还活着但进程停滞太久没有 ack 的情况呢?
我想设置一个明确的时间,表示如果一条消息已发送给消费者,但该消费者在没有确认的情况下持有该消息的时间过长,那么该消息将被重新排队。
我知道这可能会导致消息被重复处理,但有时其后果并不像延迟消息传递那么糟糕。 如果某些东西被吞下,任务终止,并且消息永远不会被确认并且永远不会重新排队,那么错误的异常处理也会发生这种情况。
【问题讨论】: