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).

Вы должны увидеть, как это сделать с вашей конкретной библиотекой

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