4

我需要使用(通常)以下三类工作人员部署排队执行服务:

  1. 一个周期性的、低优先级的作业类,耗时较长,可以串行处理;这些作业最多只能使用系统中的 0..2 个工人。

  2. 一个周期性的、对截止日期敏感的工作类,需要短到中等的时间(例如,在 5 分钟结束)

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

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

如何使用芹菜实现这一点?

4

1 回答 1

3

您可以使用Celery Routing来实现您的目标。您所做的是设置三个不同的路由键,并仅在您设置的特定路由键上列出多个 celery 工作人员(使用自定义配置) 。

于 2011-01-17T11:31:54.990 回答