发布到队列时无法获取消息,并且其他队列都与Rabbit处理器连接的其他队列消耗了消息

我试图长时间将消息发布到队列中,然后,由于使用了其他Rabbitmq处理器,使用了来自其他队列的basic_get方法之后就得到了答案 我的生态系统是这样的: 一个队列处理器正在监听foo队列->我在哪里成功发布

self.channel.basic_publish(
    exchange=ex_name,routing_key=routing_key,body=body,properties=properties,mandatory=mandatory)

另一个监听酒吧队列的队列处理器将在其中生成我要使用的消息

while True:
    method_frame,header_frame,body = self.channel.basic_get()
    if not body:
        LOGGER.info("Channel Empty.")

问题我正在堆栈:当我想从酒吧队列中读取内容时,没有任何作用,因为我已经被订阅了,这就像是消费者未确认的消息,但是函数堆栈循环了,就像有一条消息要传递但被消耗了>

可以肯定,在酒吧队列中,有一条消息已发布并传递。

此外,如果在其之间放置一个sleep.wait(在foo中发布而在bar中使用),则它可以工作,但不是实现它的方法(因为将使用它进行成千上万次测试,并且无法添加更多时间全部执行

任何帮助都会很棒

谢谢!

cqddksh01 回答:发布到队列时无法获取消息,并且其他队列都与Rabbit处理器连接的其他队列消耗了消息

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3155650.html

大家都在问