我真的不知道如何让主管使用环境变量。
下面是一个配置片段。
[program:htNotificationService]
priority=2
#autostart=true
#autorestart=true
directory=/home/ubuntu/workspace/htFrontEnd/heythat/htsite
command = /usr/bin/python htNotificationService.py -service
stdout_logfile=/var/log/heythat/htNotificationService.log
redirect_stderr=true
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
stopsignal=QUIT
我尝试过以下方法:
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
environment=PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat,PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
当我启动主管时,我得到
htNotificationService: ERROR (abnormal termination)
我可以通过设置 python 路径从 shell 启动,但不能从主管启动。在日志中我收到一条错误,指出无法找到导入。嗯,如果主管工作的话,这个问题就可以解决。我什至在/etc/environments 中有路径?
为什么主管不工作?
最佳答案
通过 %(ENV_VARNAME)s 引用现有环境变量
参见:https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf
设置多个环境变量是通过用逗号分隔来完成的
参见:http://supervisord.org/subprocess.html#subprocess-environment
尝试:
environment=PYTHONPATH=/opt/mypypath:%(ENV_PYTHONPATH)s,PATH=/opt/mypath:%(ENV_PATH)s
关于environment-variables - 主管和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900402/