【发布时间】:2013-12-17 22:36:52
【问题描述】:
我想将配置(在本例中为站点名称)放入主管 环境变量,用于扩展 program: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, program_name, 这里(目录 supervisord 配置文件),以及所有 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
【问题讨论】:
标签: supervisord