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},
]
用下面的代码,就能创立反对优先级的队列
看到队列的 feature 中,有一个 Pri 就阐明这玩意曾经反对优先级了
参考文档:
How to use priority in celery task.apply_async
https://www.cnblogs.com/zipon/p/11321061.html