【发布时间】:2013-06-07 13:54:07
【问题描述】:
如何设置 Celery 守护进程,以便它为多个单独的 Django 站点执行任务?
我有几个独立的 Django 站点在同一主机上运行,我想为每个站点支持 Celery 驱动的异步任务。 Celery(特别是 RabbitMQ 后端)支持通过 BROKER_VHOST 设置参数对任务进行分组,但我不清楚如何设置守护程序以正确执行所有虚拟主机的任务。
我计划根据docs 设置一个init 守护进程,但是Celeryd 配置文件只允许您指定单个Django 设置文件。如果我理解正确,我是否必须为每个唯一的 Django 设置文件设置一个单独的 Celery 守护程序?或者有什么方法可以将 Celeryd 配置为与所有 Django 站点一起工作?
【问题讨论】:
-
不确定如何为每个虚拟主机单独运行 celery,但您可以做的一件事是您可以为每个任务定义路由。所以每个任务都会有它独立的队列。见routing tasks。
-
@AamirAdnan,我不明白路线/队列如何适用于我。据我从这些文档中可以看出,所有队列都将使用相同的 Django 设置执行...
标签: python django celery django-celery