gpt4 book ai didi

supervisord - 主管程序 :x command expansion of environment variables $(ENV_VAR)s?

转载 作者:行者123 更新时间:2023-12-03 10:05:24 25 4
gpt4 key购买 nike

我想将配置(在这种情况下,站点名称)放入主管
环境变量,用于在 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

阅读文档,我希望环境变量可用于
在 program: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

最佳答案

我同意主管对此不清楚(至少对我而言)。

我找到了执行/bin/bash -c 的最简单的解决方案。
在您的情况下,它将是:

    command=/bin/bash -c"/path/to/myprog/myservice /data/myprog/${SITE}/${SITE}.db ..."

你怎么认为?

我在这里找到了灵感: http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/

关于supervisord - 主管程序 :x command expansion of environment variables $(ENV_VAR)s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com