萌新提问:Flask 如何在所有请求结束之后再进行重启?

2019-11-20 12:14:57 +08:00
 eteryao
现在的需求是,开发完了一个新功能,需要部署到生产。
我要如何在生产所有的请求处理完了之后,再进行部署重启 flask 服务? (优雅关闭?)
因为如果直接部署,那么生产的请求肯定是会报错出现异常的。为了避免这种情况。请在座的各位大佬帮帮我这个萌新!
5492 次点击
所在节点    Python
27 条回复
eteryao
2019-11-20 14:00:04 +08:00
@cz5424 万分感谢。我自个再去研究一下
dicc
2019-11-20 16:15:47 +08:00
@eteryao #21 要不就 先停 nginx,等几分钟,cpu 平稳了再重启?




我也乱说的
runtu2019
2019-11-20 16:28:22 +08:00
shell 脚本几行搞定的事情,监听服务端口的连接情况,端口没有 tcp 连接执行重启,用 crontab 重复执行脚本即可
fml87
2019-11-20 16:41:46 +08:00
就算 uwsgi/gunicorn/nginx 可以安全热重启,通常也无法说服领导在生产环境热重启,所以半夜停服重启基本是方案
NeinChn
2019-11-21 00:39:36 +08:00
@runtu2019
长连接呢....
连着基础服务的连接呢,name server 的,remote logging 的...
evlos
2019-11-21 20:45:21 +08:00
Zero downtime deployment
petelin
2019-11-25 10:50:25 +08:00
先摘机器 然后看机器上的请求什么时候都处理完了

后一点 python 做及其难 go 就简单多了 所以基本所有的 go 服务都自带 gracefulshutdown。python 里有这词吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/621343

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX