首页后端开发Python如何使用gevent优化flask

如何使用gevent优化flask

时间2023-06-04 00:52:01发布访客分类Python浏览625
导读:如何使用gevent优化flask?Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库,通过greenlet实现协程,其基本思想是:当一个gre...

如何使用gevent优化flask?

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。

gevent是第三方库,通过greenlet实现协程,其基本思想是:

当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO。

gevent实现了异步、IO非阻塞的功能。

由于切换是在IO操作时自动完成,所以gevent需要修改Python自带的一些标准库,这一过程在启动时通过monkey patch完成:

一. 安装gunicorn和gevent:pip install gunicorn / pip install gevent

二. 启动gunicorn(注:这时必须进入你项目的根目录且处于虚拟环境中,因为gunicorn安装在虚拟环境中)

1. 配置gunicorn启动配置文件,在项目的根目录创建一个gun.conf

2. 然后执行以下代码启动:gunicorn -k gevent -c gun.conf app:app

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何使用gevent优化flask
本文地址: https://pptw.com/jishu/60387.html
难道python就没别的了 如何用三天掌握python技术

游客 回复需填写必要信息