要一直走下去

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

有的消费者处理速度快,有的消费者处理速度慢,我们想给处理快的多发消息,处理慢的少发消息,

怎么办呢?按照之前的轮询模式,肯定不行的,这里可以检测消息数量,如果消费者正在处理就不给他发

....
def callback(ch, method, properties, body):
    print("--->:",ch,properties)
    time.sleep(10)
    print("received: ", body)
    ch.basic_ack(delivery_tag=method.delivery_tag)

# 消费者端加这句话,表示消息限制数量
channel.basic_qos(prefetch_count=1)

channel.basic_consume(callback,
                      queue='q1',
                      )
....

 

posted on 2018-11-08 11:56  要一直走下去  阅读(1278)  评论(0编辑  收藏  举报