如何使用芹菜配置不同的工作池?

时间:2011-01-12 04:49:31

标签: python queue scheduled-tasks task celery

我需要(通常)使用以下三类worker来部署排队执行服务:

  1. 一个定期的,低优先级的作业类,需要很长时间才能连续处理;这些工作最多只能使用系统中的0..2工作人员。

  2. 定期,截止日期敏感的工作班,需要花费很短的时间(例如,在5分钟内完成)

  3. ad-hoc作业类,优先级高于#1,但可以与#2交错。来自#2类的任何工作人员在这种类型的工作进入时都处于非活动状态时应该处理它,而不会使#2

  4. 的工作人员挨饿

    所有三个工作类都是同一个任务,它们之间唯一的区别就是它们的要求;他们将采用相同的输入并生成相同的输出,但每个输出都有不同的性能保证。

    如何使用芹菜实现这一目标?

1 个答案:

答案 0 :(得分:3)

您可以使用Celery Routing来实现目标。你要做的是设置三个不同的路由键,并有多个芹菜工人(带有自定义配置),列出你设置的特定路由键上的