supervisor的command執行兩條命令
阿新 • • 發佈:2018-09-05
啟動 -c 運行 gunicorn shel Superviso man 構建 ack
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執行兩條命令