[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
阅读文档后,我期望环境变量可以在程序的命令中作为%(ENV_VAR)s进行扩展:
http://supervisord.org/configuration.html#program-x-section-values
命令:
"字符串表达式根据包含以下键的字典进行评估: group_name、host_node_name、process_num、program_name、here(supervisord配置文件的目录)和所有以ENV_为前缀的supervisord环境变量。"
引入版本: 3.0
相关:
有开放的拉取请求可在其他部分值中启用扩展:
https://github.com/Supervisor/supervisor/issues?labels=expansions&page=1&state=open
在Google (或SO) 中搜索未返回尝试在命令部分值中使用%(ENV_VAR)s扩展的示例:
https://www.google.com/search?q=supervisord+environment+expansion+in+command