flask 实现异步非阻塞----gevent
2018-06-18 02:18:08来源:未知 阅读 ()
我们都知道,flask不支持异步非阻塞的请求,我们可以创建一个新项目去测试一下,推荐大家使用pycharm去开发我们的flask 使用特别的方便。
rom flask import Flask import time app = Flask(__name__) @app.route('/') def hello_world(): time.sleep(10) return 'Hello World!' @app.route('/index') def beijing(): return 'Beijing' if __name__ == '__main__': app.run()
这样我们实现了一个简单的;flask代码,我们让第一个视图休眠10s,第二个正常返回,
我们试着用浏览器访问下。
我们可以看到,这个时候我去访问第一个视图,一直处于加载中,这个时候我去访问第二个视图,也是处于一直加载中,那么我们怎么去修改呢,其实
我们gevent库就可以帮助我们去解决这个问题
from flask import Flask from gevent.pywsgi import WSGIServer from gevent import monkey import time monkey.patch_all() app = Flask(__name__) @app.route('/') def hello_world(): time.sleep(10) return 'Hello World!' @app.route('/index') def beijing(): return 'Beijing' if __name__ == '__main__': http_server = WSGIServer(('127.0.0.1', 5000), app) http_server.serve_forever()
修改后的代码如下,我们可以试着去请求下。
我们可以看到,当我们第一个阻塞住的时候,我们可以正常的去访问我们第二个路由
那么我们这样就可以实现我们异步的非阻塞的flask,
可以运用到实际的工作中。
推荐一个gevent学习的博客https://softlns.github.io/2015/11/28/python-gevent/
世上本没有路,走多了变有路。
作者寄语:
前进的道路我们充满着迷茫,
前进的每一步我们都会有收获。
路在脚下,我们决定不了我们的出身,但是我们可以努力改变我们未来。
告别昨天失败的自己,努力拼搏今天,成就美好明天
QQ:952943386 email:leileili126@163.com qq群:194704520 新群:683894834
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Python3 数据类型-列表
- python day2-爬虫实现github登录 2019-08-13
- Flask request接口获取参数 2019-08-13
- 基于tornado---异步并发接口 2019-07-24
- python+selenium实现自动化百度搜索关键词 2019-07-24
- python + pyinstaller 实现将python程序打包成exe文件直接运 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash