宝塔面板 webhooks 优雅的重启 gunicorn 进程

网上能搜索到的 优雅的重启gunicorn 进程基本都是相同的一篇文章

其核心代码如下

# 查找进程

pstree -ap|grep gunicorn

利用pid重启进程

kill -HUP 14226

利用pid杀死进程

kill -9 28097

我们webhooks调用的代码需要连续的完成查找并且杀死进程,然后再重启这个服务。

经过一番搜索和测试,下面的代码可用

# 服务器又多个gunicorn服务的时候,只针对rxx0.com进行杀死进程,下面的rxx0.com替换成你的服务的关键字

pstree | grep rxx0.com | grep -v grep | awk 'NR==1{system("kill -QUIT "$2)}'

# 比如

# pstree | grep gunicorn | grep -v grep | awk 'NR==1{system("kill -QUIT "$2)}'

杀死gunicorn进程之后就需要重启服务,如果是宝塔面板的话,python 项目管理内的项目启动命令,在 /etc/init.d/ 文件夹下,对应项目名_pymanager 文件,打开这个文件,把最后一行复制下来即可。

# 这段代码需要自己修改成自己的虚拟环境里的gunicorn、配置和服务

/www/wwwroot/rxx0.com/rxx0_venv/bin/gunicorn -c /www/wwwroot/rxx0.com/gunicorn.conf rxx0:app

这两段代码组合起来就可以在webhooks调用的时候先执行杀死gunicorn,再重启gunicorn服务的任务啦

 

如果没有先杀死gunicorn,直接重启gunicorn是无效的,而且不提示错误。

这个不是错误,没有gunicorn进程的时候直接启动gunicorn也会显示这个警告,但是服务会运行。

有gunicorn进程的时候,也是提示这个警告,但是服务不会重启。

需要先杀死gunicorn进程,然后启动服务。

 

 

 

 

 

版权声明:
作者:xinyu2ru
链接:https://www.rxx0.com/software/bao_ta_mian_ban_webhooks_you_ya_de_chong_qi_gunicorn_jin.html
来源:RUBLOG-分享我的生活
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>