是否可以在不同的机器上使用单个队列执行多个芹菜实例,使用django优选使用django-orm作为后端? 如果可能的话,我怎么能实现这一点,我似乎无法找到任何相关的文档。
答案 0 :(得分:1)
是的,它们可能只需要使用相同的broker。例如,如果您使用的是AMQP,则服务器上的配置必须共享相同的
BROKER_URL = 'amqp://user:password@localhost:5672//'
有关详细信息,请参阅routing page。例如,假设你想为两个服务器建立一个公共队列,然后一个特定于每个服务器,你可以做到
CELERY_ROUTES = {'your_app.your_specific_tasks1': {'queue': 'server1'}}
user@server1:/$ celery -A your_celery_app worker -Q server1, default
CELERY_ROUTES = {'your_app.your_specific_tasks2': {'queue': 'server2'}}
user@server2:/$ celery -A your_celery_app worker -Q server2, default
当然它是可选的,默认情况下,所有任务都将路由到名为celery
的队列。