Как установить переменные среды в службе Supervisor
Как вы экспортируете переменные среды в команду, выполняемую Supervisor? Я сначала попробовал:
command="export SITE=domain1; python manage.py command"
но отчеты Supervisor "не могут найти команду".
Итак, я попробовал:
command=/bin/bash -c "export SITE=domain1; python manage.py command"
и команда запускается, но это, похоже, мешает демонализации, поскольку, когда я останавливаю демон Supervisor, все остальные демоны, которые он запускает, не останавливаются.
Ответы
Ответ 1
Чтобы добавить одну переменную среды, вы можете сделать что-то вроде этого.
[program:django]
environment=SITE=domain1
command = python manage.py command
Но, если вы хотите экспортировать несколько переменных среды, вам нужно разделить их запятой.
[program:django]
environment =
SITE=domain1,
DJANGO_SETTINGS_MODULE=foo.settings.local,
DB_USER=foo,
DB_PASS=bar
command = python manage.py command
Ответ 2
Просто сделайте это отдельно:
environment=SITE=domain1
command=python manage.py command
Подробнее см. http://supervisord.org/subprocess.html#subprocess-environment.