uwsgi python 优雅重启之链式重启
在使用uwsgi运行python应用时,有时需要优雅地重启应用。
优雅重启指的是不中断服务,而是先启动新的应用程序实例,然后关闭旧的实例,这样可以确保服务的连续性。
优雅重启的方式有很多种,下面介绍链式重启
参考文档
优雅重载的艺术 — uWSGI 2.0 文档
链式重启过程
当被触发的时候,它会重启一个worker,而后面的worker将不会被重载,直到前一个准备好接收新请求为止。
- worker 1 正在处理请求,uwsgi允许worker1 完成此次请求后,再重新加载
- 在此时,worker 1停止接受新请求,由后面的worker 接受新请求,
优缺点
优点:
- 潜在极大地降低客户端的等待时间
- 减少重载期间机器的负载 (没有多个处理器加载相同的代码)。
缺点:
- 只对代码更新有用
- 你需要一个不错的worker数,才能获得更好的用户体验。
设置