我可以在我的一个Django应用程序中为每个任务指定一个芹菜队列吗?

时间:2015-01-23 20:09:42

标签: django celery django-apps

我们目前在Django应用程序中有几个Celery队列。现在我们要么在CELERY_ROUTES设置中为每个任务指定一个队列(如果它没有定义,它会进入默认队列),或者在任务定义中。

我在整个项目中启动了一个新的django应用程序,我希望为该应用程序中的所有任务专门设置一个队列,而不是基于每个任务。有这么简单的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这个问题确实很老,但是可以解决...从文档http://docs.celeryproject.org/en/latest/userguide/routing.html#id2,您可以在task.py中指定与应用相关的所有任务,以使用特定查询:

task_routes = ([
('feed.tasks.*', {'queue': 'feeds'}),
('web.tasks.*', {'queue': 'web'}),
(re.compile(r'(video|image)\.tasks\..*'), {'queue': 'media'}),
],)

在您的芹菜配置文件中。

相关问题