![](/img/trans.png)
[英]Asyncio and rabbitmq (asynqp): how to consume from multiple queues concurrently
[英]RabbitMQ - Consume multiple queues
我正在使用Python,RabbitMQ和Pika。
我有多個使用者和隊列。 我希望一個消費者從每個隊列中獲取消息。 假設我有2個使用者和3個隊列。 我希望每個消費者都從隊列1、2和3中讀取消息。
我可以通過basic_get做到這一點:
basic_get(隊列1)
basic_get(隊列2)
basic_get(隊列3)
=>從隊列1獲得一條消息,從隊列2獲得一條消息,從隊列3獲得一條消息,然后重復。
“問題”是我想使用basic_consume來設置qos(讓隊列每次推送n條消息)。 我想從隊列1獲得n條消息,然后從隊列2獲得n條消息,從隊列3獲得n條消息,然后返回隊列1,依此類推。 我不想從隊列1中消耗掉所有東西,然后從第二個隊列中消耗掉所有東西,...
我還沒有找到為多個隊列實現basic_consume的方法。 在我的情況下可以實現basic_consume嗎?
另外,使用basic_consume時是否需要線程? 當在RabbitMQ中發送消息時,它確實會調用一個函數。 但是據我了解,這是一個聽眾。 所以當我在聽的時候我什么也不能做。 使用線程將有助於在偵聽新消息時處理任務,對嗎?
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.