LINUX.ORG.RU

История изменений

Исправление micronekodesu, (текущая версия) :

autoAck = true

Нет, это наоборот будет помечать сообщения в очереди обработанными как только их воркеру передадут, вам нужно это отключить. На питоне "ручное подтверждение" делается вот так:

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)
    time.sleep( body.count('.') )
    print(" [x] Done")
    ch.basic_ack(delivery_tag = method.delivery_tag)

channel.basic_consume(queue='hello', on_message_callback=callback)

ch.basic_ack как раз и подтвердит что сообщение успешно обработано.

Исходная версия micronekodesu, :

autoAck = true

Нет, это наоборот будет помечать сообщения в очереди обработанными как только их воркеру передадут, вам нужно это отключить. На питоне это делается вот так:

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)
    time.sleep( body.count('.') )
    print(" [x] Done")
    ch.basic_ack(delivery_tag = method.delivery_tag)

channel.basic_consume(queue='hello', on_message_callback=callback)

ch.basic_ack как раз и подтвердит что сообщение успешно обработано.