如何使用 gunicorn 优雅地管理 supervisord 重启?

How to manage supervisord restart gracefully with gunicorn?

我有这样的场景,我希望 gunicorn worker 在 supervisord 停止(重启)后启动之前确认并完成正在进行的请求。

谁能帮我解决这个问题。

将您的 Supervisor 配置设置为自动启动,并将自动重启设置为 true。

然后

杀死gunicorn
 kill -HUP `cat /tmp/process.pid` 

它将正常关闭,因此处理所有请求,主管将根据配置重新启动它。

您也可以使用 gunicorn 的重新加载,因为它会发送 HUP 信号。

更准确地说,您可以通过以下方式发送 HUP 信号来重新加载您的应用程序:pkill -HUP gunicorn

因为 /var/run/ 目录缺少这个 pid:

find /var/run/ -iname '*gunicorn*' | wc -l
0

查看官方 Gunicorn 文档,http://docs.gunicorn.org/en/stable/faq.html

man 1 pkill