主管未检测到文件
Supervisor not detecting file
我正在尝试 运行 通过代理执行命令。当我在 shell 中 运行 这个命令有效时
http_proxy=http://username:password@proxy:29800 /home/www/program -env prod
但是当我将它放入我的主管配置时,它告诉我它找不到这个文件
[program:goprogram]
command = http_proxy=http://username:password@proxy:29800 home/www/program -env prod
directory = /home/www/program
enviroment=PATH='/home/www/env/bin:/usr/bin'
user = user
autorestart = true
现在,我认为它与 http_proxy
或语法有关,但不确定如何修复它。
由于您试图在命令本身中设置环境变量,您可以尝试使用不同的方式来调用所述命令:
command = /bin/sh -c 'http_proxy=http://username:password@proxy:29800 home/www/program -env prod'
这样:
- 您不必将该环境变量添加到环境部分(否则凭据将对所有 supervisord 进程和子进程的环境可见)
- 你设置
http_proxy
只是为了要执行的命令。
您需要设置 http_proxy
变量。无论是@VonC 描述的方式还是:
[program:goprogram]
command = home/www/program -env prod
directory = /home/www/program
enviroment=
PATH='/home/www/env/bin:/usr/bin'
http_proxy=http://username:password@proxy:29800
user = user
autorestart = true
可以在 this SO question 中找到更多信息。
我正在尝试 运行 通过代理执行命令。当我在 shell 中 运行 这个命令有效时
http_proxy=http://username:password@proxy:29800 /home/www/program -env prod
但是当我将它放入我的主管配置时,它告诉我它找不到这个文件
[program:goprogram]
command = http_proxy=http://username:password@proxy:29800 home/www/program -env prod
directory = /home/www/program
enviroment=PATH='/home/www/env/bin:/usr/bin'
user = user
autorestart = true
现在,我认为它与 http_proxy
或语法有关,但不确定如何修复它。
由于您试图在命令本身中设置环境变量,您可以尝试使用不同的方式来调用所述命令:
command = /bin/sh -c 'http_proxy=http://username:password@proxy:29800 home/www/program -env prod'
这样:
- 您不必将该环境变量添加到环境部分(否则凭据将对所有 supervisord 进程和子进程的环境可见)
- 你设置
http_proxy
只是为了要执行的命令。
您需要设置 http_proxy
变量。无论是@VonC 描述的方式还是:
[program:goprogram]
command = home/www/program -env prod
directory = /home/www/program
enviroment=
PATH='/home/www/env/bin:/usr/bin'
http_proxy=http://username:password@proxy:29800
user = user
autorestart = true
可以在 this SO question 中找到更多信息。