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