Celery:连接到 Remote Broker 以共享任务

Celery: Connect to Remote Broker to Share Tasks

我有很多耗时的任务需要多台机器分担。我目前有一台主机使用 Celery workers 来完成任务。我在本地机器上使用 RabbitMQ 作为代理,使用 redis 作为后端 运行。 master 机器还负责部署任务和 return 结果。

我想知道是否可以让slave机器远程连接到master机器中的broker和result backend来获取作业,让所有机器一起工作。我想我只需要以某种方式配置 RabbitMQ 和 redis 设置,然后在从机中启动 Celery worker。非常感谢。

在查看 Celery 文档时,绝对没有限制您不能从工作进程访问 RabbitMQ 作为远程服务器,而不仅仅是使用本地主机。看看CELERY_QUEUE_HA_POLICYhere.