Supervisord 在命令中使用环境变量

jde*_*ops 5 supervisord flower

我的主管配置文件

environment=USER=%(ENV_FLOWER_USER_NAME),PASS=%(ENV_FLOWER_PASSWORD)
command=/usr/local/opt/python/bin/flower --basic_auth=%(ENV_USER}:%(ENV_PASS)
Run Code Online (Sandbox Code Playgroud)

当我启动 supervisord 时,我收到以下错误

重新启动主管:错误:“环境”的格式字符串 'USER=%(ENV_FLOWER_USER_NAME),PASS=%(ENV_FLOWER_PASSWORD)' 格式错误

有任何想法吗?

Chi*_*and 5

看起来您缺少s格式化环境变量名称的前导。这是示例配置文件

你应该使用

environment=USER=%(ENV_FLOWER_USER_NAME)s,PASS=%(ENV_FLOWER_PASSWORD)s
command=/usr/local/opt/python/bin/flower --basic_auth=%(ENV_USER)s:%(ENV_PASS)s
Run Code Online (Sandbox Code Playgroud)

为了可读性

environment=
    USER=%(ENV_FLOWER_USER_NAME)s,
    PASS=%(ENV_FLOWER_PASSWORD)s

command=/usr/local/opt/python/bin/flower 
            --basic_auth=%(ENV_USER)s:%(ENV_PASS)s
Run Code Online (Sandbox Code Playgroud)