gpt4 book ai didi

python - rabbitmq 队列中的多个消费者-只有一个消费者收到消息

转载 作者:太空狗 更新时间:2023-10-29 21:36:49 29 4
gpt4 key购买 nike

我实现了多个消费者,他们从一个队列中获取消息,我正在使用类似于 this example 的东西来做这件事,除了我正在执行 basic.get 无限循环进行轮询。

知道如何防止所有消费者之间的竞争,因为只有一个消费者会收到消息,而另一个消费者将继续进行轮询,直到收到另一条消息吗?
我尝试实现一种逻辑,在该逻辑中,一旦我收到消息,我就会确认它以删除该消息,但似乎其他一些队列在第一个队列确认并删除它之前设法获取了该消息。因此每个消费者都收到了消息。

提前致谢

最佳答案

Any idea how do I prevent racing between all consumers, in that only one consumer will get the message and the other will continue to do polling until another message comes?

你不能,你设置的方式。 RabbitMQ 会将消息循环发送给消费者,但只有一个消费者会从队列中接收消息。这是 RabbitMQ 设计的,当您在一个队列上有多个消费者时。

如果您需要所有消费者接收所有消息,那么您需要更改您的配置,以便每个消费者都有自己的队列。然后,您需要通过一个交换器发布您的消息,该交换器会将消息传送到所有消费者的所有队列。

最简单的方法是使用 Fanout 交换类型。

关于python - rabbitmq 队列中的多个消费者-只有一个消费者收到消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32864644/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com