Попытка получить кролик MSG без подтверждения, но безуспешно

У меня есть задача, в которой я пытаюсь получить все сообщения в очереди кролика. Мне нужно только ПОЛУЧИТЬ, а не ПОТРЕБИТЬ. Так вот код, я использую

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. Проверьте скриншот ниже:

2 ответа

Решение

Я нашел обходной путь, и он работает. Закрытие кроличьего соединения, после того, как потребили, сделали свое дело (хотя теперь требуется время для создания и закрытия соединения каждый раз)

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
    rabbitObj.close_connection(connection)

while(True):
    some_function_name()

Когда вы установите no_ack=False Вы специально указываете брокеру ожидать ответа, поэтому все сообщения становятся неподтвержденными. Попробуйте установить no_ack=True,

Другие вопросы по тегам