Я хотел бы добавить конфигурацию (в данном случае имя сайта) в супервизор переменные среды, для расширения в программе: аргументы команды x. Поддерживается ли это? Текст документации, похоже, указывает "да".
Следующий синтаксис для меня не работает на supervisor-3.0 (выдержка из файла конфигурации):
[supervisord]
environment = SITE="mysite"
[program:service_name]
command=/path/to/myprog/myservice /data/myprog/%(ENV_SITE)s/%(ENV_SITE)s.db %(program_name)s_%(process_num)03d
process_name=%(program_name)s_%(process_num)03d
numprocs=5
numprocs_start=1
Вызывает следующую ошибку:
sudo supervisord -c supervisord.conf
Error: Format string
'/path/to/myprog/myservice /data/myprog/%(ENV_SITE)s/%(ENV_SITE)s.db %(program_name)s_%(process_num)03d'
for 'command' contains names which cannot be expanded
Чтение документации, я ожидал, что переменные среды будут доступны для расширение в программе: команда x как% (ENV_VAR) s:
http://supervisord.org/configuration.html#program-x-section-values
Команда:
"Строковые выражения оцениваются по словарю, содержащему ключи group_name, host_node_name, process_num, имя_программы, здесь (каталог файл конфигурации supervisord) и все переменные среды суперпользователя с префиксом ENV _. "
Представлено: 3.0
по теме:
Существуют открытые запросы на растяжение, чтобы включить расширение в дополнительных значениях раздела:
https://github.com/Supervisor/supervisor/issues?labels=expansions&page=1&state=open
Поиск goole (или SO) не возвращает примеров попыток использования% (ENV_VAR) s расширение в значении командной строки:
https://www.google.com/search?q=supervisord+environment+expansion+in+command