【发布时间】:2018-04-05 13:53:12
【问题描述】:
我在 Rabbitmq 中创建了一些连接到队列的消费者,每次取消接收 X 条消息,例如 10,50,100 条,以避免不必要的连接一个一个地占用。 有时我们会遇到队列几乎是空的,只有一个消费者收到所有消息的情况。不幸的是,其中一条消息的处理速度可能很慢(例如,第三方 Web 服务超时),并且所有其他消息都必须排队等待这条消息完成,即使它们更快。 虽然这样,其他消费者是空的,无事可做,但他们无法接受第一个尚未处理的消息。
如果我可以告诉 Rabbitmq 向消费者传递某种消息,并且如果它在一段时间后没有确认,则必须将消息传递到队列并由另一个消费者接收。 有人知道是否有解决方法吗?
【问题讨论】:
标签: rabbitmq queue timeout consumer subscriber