我有一个任务,我尝试在兔子队列中获取所有消息。我只需要获取,而不是消费。所以这是代码,我正在使用
def some_function_name() :
connection = rabbitObj.get_connection()
channel = rabbitObj.get_channel(connection)
while True :
method_frame, header_frame, body = channel.basic_get(queue='error_queue', no_ack=False)
if method_frame:
#do some work
else :
break #breaking the loop
while(True):
some_function_name()
当我运行此代码时,它第一次正常工作。我得到队列中的所有消息,并且所有消息都保持在“就绪”状态,但是当我第二次运行循环时,所有消息都变为“未确认”状态。
要求:每次我应该只获取消息,并且它们不应该不被确认。
第一个循环:
第二循环:
谁能帮助我,我做错了什么,或者我应该做些什么改变。
提前致谢 :)
编辑1:至于@BarrensZeppelin 的回答,如果我设置no_ack=True,所有的味精都会丢失。检查以下屏幕截图: