Pika - Rabbitmq, использующий Basic.get для расчета одного сообщения из очереди
Я использую метод, показанный здесь, вот так:while method_frame is None:
method_frame, header_frame, method_frame= channel.basic.get("test_queue)
Похоже, что этот опрос не так эффективен, потому что базовый метод get работает также, если очередь пуста, и приносит пустые сообщения.
Мне нужна какая-то логика, которая принимает одно сообщение, только когда у меня есть возможность позаботиться об этом, поэтому я выбрал basic.get
и не basic.consume
,
У кого-нибудь есть и идея сделать более эффективный опрос, возможно, с помощью некоторого механизма другой библиотеки Пики?
1 ответ
Решение
Попробуйте использовать basic.consume(ack=true) с basic.qos(prefetch_count=1).
Вы должны увидеть, как это сделать с вашей конкретной библиотекой