Запуск нескольких экземпляров сельдерея в Production на одной виртуальной машине с разными виртуальными средами - PullRequest
0 голосов
/ 07 ноября 2019

Были похожие вопросы. Я работал с несколькими производственными приложениями с Django Celery RabbitMQ, и пока все хорошо. Однако теперь есть клиент, на виртуальной машине которого нам нужно запустить три отдельных приложения Django, и у каждого из них есть приложение Celery.

Во время работы с Celery в качестве отдельного я следовал этим документам. И они работают как шарм. Я говорю о параметре /etc/init.d/celeryd.

Проблема заключается в том, что сценарии init.d указывают на сценарий / etc / default, и существует только одна возможность добавить каталог и другие параметры вукажите правильное приложение Django.

https://docs.celeryproject.org/en/latest/userguide/daemonizing.html#example-configuration

Однако мне еще предстоит увидеть какие-либо документы, и какие конфигурации мне нужно будет изменить, если в той же виртуальной машине и для того же Rabbit-MQ Server нам нужно будет внести изменения.

Короче говоря, как мне запустить несколько приложений Django с сельдереем и Rabbit MQ на одной машине. Приложения используют разные виртуальные машины Python

1 Ответ

1 голос
/ 07 ноября 2019

Одним из решений является использование сервисного сценария Celery для каждого приложения Django. Это означает, что у вас будет appA-celery.service в /usr/lib/systemd/system/, а также appB-celery.service и appC-celery.service. То же самое относится и к старому способу обработки сервисов /etc/init.d (SysV).

Другое решение - запустить одного работника, подписаться на N разных очередей (для каждого приложения) и настроить свои приложения. отправлять задачи в свои выделенные очереди.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...