kombu 创建优先队列

rabbitmq 里面,不同的队列是不分优先级的,哪怕是 publish 的时候,给 message 带上 priority 也是一个摆设

想让队列支持 priority,就要在创建队列的时候,指定 x-max-priority

你可能会很奇怪,为什么有 x-max-priority,而没有 x-min-priority 是不是?对,没有为什么,就是这么奇葩!
from kombu import Exchange, Queue

app.conf.task_queues = [
    Queue('tasks', Exchange('tasks'), routing_key='tasks',
          queue_arguments={'x-max-priority': 10},
]

用上面的代码,就能创建支持优先级的队列

kombu 创建优先队列_第1张图片

看到队列的 feature 中,有一个 Pri 就说明这玩意已经支持优先级了

参考文档:
How to use priority in celery task.apply_async
https://www.cnblogs.com/zipon/p/11321061.html

你可能感兴趣的:(pythonrabbitmq)