我们目前在Django应用程序中有几个Celery队列。现在我们要么在CELERY_ROUTES设置中为每个任务指定一个队列(如果它没有定义,它会进入默认队列),或者在任务定义中。
我在整个项目中启动了一个新的django应用程序,我希望为该应用程序中的所有任务专门设置一个队列,而不是基于每个任务。有这么简单的方法吗?
谢谢!
答案 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'}),
],)
在您的芹菜配置文件中。