Супервизор, сельдерей и демонизация - соответствует ли моя конфигурация хорошей практике? - PullRequest
0 голосов
/ 18 декабря 2018

Я развернул приложение Django с использованием Apache2 и боролся с конфигурацией Celery.

1-я попытка:

Я использовал systemd для демонизации сельдерея и сельдерея, как указано в документации по сельдерею .Это была своего рода работа с этой конфигурацией (которая не рекомендуется для производства)

ExecStart=/path/to/celery/bin/ -A proj worker
ExecStart=/path/to/celery/bin/ -A proj beat

Но я не мог заставить работать "официальную" конфигурацию, что-то вроде этого:

ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
  -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'

Служба работала, но запланированные задания не выполнялись.

Текущая конфигурация:

Я прочитал эту статью (Периодические задания Celery 4 для среды), в которой рекомендуется использовать супервизор.Это то, что я сделал, и мои файлы конфигурации выглядят так:

[program:projworker]

command=/path/to/celery/bin/-A proj worker -l info

Так что это фактически та же команда, что и неучтенная в документации Celery. (Хотя для обеих конфигураций я правильно настроил dir проекта, пользователя и группу и т. Д.).Однако все идет гладко.

Итак, в конце концов, мой вопрос: это действительно уважает хорошие практики?Согласно этой части документации супервизор обрабатывает демонизацию, но на самом деле я не уверен, что понял это правильно.

1 Ответ

0 голосов
/ 19 декабря 2018

Вообще говоря, я бы рекомендовал использовать мульти.Причиной использования multi является то, что multi предлагает синтаксис, позволяющий корректно запускать, останавливать или перезапускать работников сельдерея.Тем не менее, если вам не нужны эти функции или у вас есть хороший способ справиться с пуском, остановкой и перезапуском с помощью supervisord, не используя multi, сделайте это так, как вы это делали.

Вот пример рекомендуемой конфигурации для сельдерея с супервизором .

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