有人可以澄清Celery任务中的任务优先级使用情况吗?

时间:2018-03-16 11:34:40

标签: celery

文档对priority属性的描述很少。其中一个罕见的文档参考说明如下:

priority (int): The task priority, a number between 0 and 9.
  Defaults to the :attr:`priority` attribute.

(参考:http://docs.celeryproject.org/en/latest/_modules/celery/app/task.html#Task.apply_async

但是,如果你转到下一页的底部 - http://docs.celeryproject.org/en/latest/userguide/calling.html - 你会看到:

  

优先   0到255之间的数字,其中255是最高优先级。

     

支持者:RabbitMQ,Redis(优先级反转,0最高)。

这两条信息相互矛盾。另外,我认为docstring更新了......

问题是哪一个是相关的,更重要的是:如何排序优先级 - 优先级= 0是否意味着最高优先级?或者它取决于后端,正如文档页面所说的那样......

我也为此做了一个GitHub问题 - https://github.com/celery/celery/issues/4599

更新1 :我在v4.0(http://docs.celeryproject.org/projects/kombu/en/latest/changelog.html)的kombu更新日志中找到了以下内容:

  

Redis:优先级0现在最低,9最高。 (向后不兼容)

     

这与AMQP的优先级相匹配。

     

由Alex Koshelev提供的修复。

0 个答案:

没有答案