supervisor的command执行两条命令

Posted ydf0509

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了supervisor的command执行两条命令相关的知识,希望对你有一定的参考价值。

supervisor的进程的comand配置参数只能写一个命令

1、要执行多条命令,可以写个sh文件包含多条命令,然后sh -x   xxxx.sh,但这样又多了一个文件,

 

2、把所有命令放在字符串,然后用eval来执行,这样在shell窗口可以执行,但放在supervisor报找不到eval命令。比如:

command = eval  "python -u app/utils_ydf/git_client.py&&gunicorn -w 9 -k gevent --bind 0.0.0.0:5402 app.apis.elong.nearby_hotel:app" 这样不能在supervisor运行。

 

3、解决方式是使用如下:

command = /bin/bash -c "python -u app/utils_ydf/git_client.py&&gunicorn -w 9 -k gevent --bind 0.0.0.0:5402 app.apis.elong.nearby_hotel:app"

这样就可以了。


这样每次在启动或重启进程时候,会先拉去git再部署,部署速度比jenkens的构建速度快,状态也比jenkens查看方便。


这样运行是要注意下环境变量问题。

以上是关于supervisor的command执行两条命令的主要内容,如果未能解决你的问题,请参考以下文章

supervisor管理nginx

沉寂许久,来一个工具——supervisor

如何在 Supervisor 服务中设置环境变量

linux中批处理文件顺序执行命令的输入

Crontab定时启动Supervisor任务

Supervisor使用 Supervisor source command not found 如何解决