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

时间:2019-11-06 00:24:52

标签: rabbitmq automated-tests pika

我试图长时间将消息发布到队列中,然后,由于使用了其他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中使用),则它可以工作,但不是实现它的方法(因为将使用它进行成千上万次测试,并且无法添加更多时间全部执行

任何帮助都会很棒

谢谢!

0 个答案:

没有答案