Celery: подключайтесь к удаленному брокеру, чтобы делиться задачами
У меня много трудоемких задач, которые нужно разделить на несколько машин. В настоящее время у меня есть одна мастер-машина, использующая работников Celery для выполнения этой задачи Я использую RabbitMQ в качестве посредника и Redis в качестве бэкэнда, работающего на этой машине локально. Главный компьютер также отвечает за развертывание задач и выдачу результатов.
Интересно, возможно ли иметь подчиненные машины, удаленно подключенные к брокеру, и привести бэкенд к главному компьютеру для получения заданий, чтобы все машины работали вместе. Я думаю, что мне просто нужно как-то настроить RabbitMQ и настройки redis, а затем запустить рабочих Celery на подчиненных машинах. Большое спасибо.
1 ответ
При просмотре документации Celery нет абсолютно никаких ограничений, что вы не можете получить доступ к RabbitMQ из рабочих процессов как удаленный сервер, а не просто используя localhost. Посмотрите CELERY_QUEUE_HA_POLICY здесь.