import pika
params = pika.URLParameters([URL])
connection = pika.BlockingConnection(params)
channel = connection.channel()
channel.queue_declare(queue='test', durable=True)
channel.basic_consume(do_things, queue='test')
try:
channel.start_consuming()
except KeyboardInterrupt:
channel.stop_consuming()
except:
rollbar.report_exc_info()
finally:
channel.close()
connection.close()
Это код, который я использовал для приема сообщений.Проблема, скажем, в очереди test
100 сообщений.Как только я запускаю потребителя, он получает все 100 сообщений и обрабатывает их одно за другим, то есть статус очереди стал: message ready: 0, unacked: 100, total: 100. В результате я не смогу раскрутитьновые потребители для параллельной обработки сообщения 100, поскольку для новых потребителей не осталось сообщений (все они были приняты существующим потребителем, хотя большинство сообщений не было обработано).Можно ли разрешить потребителю принимать только 1 сообщение за раз?