2015-09-26 48 views
0

我用這樣的顯示here方法cosume單個消息:
while method_frame is None: method_frame, header_frame, method_frame= channel.basic.get("test_queue)鼠兔 - RabbitMQ的,使用Basic.get從隊列

它看起來是這樣的投票不那麼高效這種方式,因爲基本的get如果隊列是空的,並且帶空信息,它也在工作。

我需要一種邏輯,它只需要一個消息,只有當我有機會照顧它時,這就是爲什麼我選擇basic.get而不是basic.consume

做任何人都有想法做更高效的投票可能通過使用一些pika的圖書館其他機制?

回答

1

嘗試使用basic.consume(ack = true)和basic.qos(prefetch_count = 1)。

你需要了解如何做到這一點與您的特定庫

+0

嗨能否請您以更詳細的,ACK =真,什麼是basiq.qos解釋其含義(prefetch_count = 1)? – JavaSa

+0

另外你知道如何用pika庫做到這一點嗎? – JavaSa

+0

@JavaSa這是在RabbitMQ教程http://www.rabbitmq.com/tutorials/tutorial-two-python.html –