深入flask之异步非堵塞实现代码示例
作者:danny_amos 发布时间:2021-12-27 17:37:25
标签:flask,异步,非堵塞
官方其实已经给出了方案,只不过藏的有点深,在加上网上有很多不太靠谱的帖子误导了我(当然不排除我没理解的原因哈)。所以为了让有些朋友的少走点弯路,也为给自己做个备忘。
完整代码:https://github.com/wskssau/my_notespace的 python/todo_app
解决方案: flask+gevent
安装gevent
pip install gevent
修改代码
# 文件头部
from gevent import monkey
from gevent.pywsgi import WSGIServer
# 在玩websockets,可以无视之哈,有空贴下flask websockets实现哈
from geventwebsocket.handler import WebSocketHandler
import time
#gevent的猴子魔法
monkey.patch_all()
app = Flask(__name__)
app.config.update(
DEBUG=True
)
@app.route('/asyn/1/', methods=['GET'])
def test_asyn_one():
if request.method == 'GET':
time.sleep(10)
return 'hello asyn'
@app.route('/test/', methods=['GET'])
def test():
return 'hello test'
if __name__ == "__main__":
# app.run()
http_server = WSGIServer(('', 5000), app, handler_class=WebSocketHandler)
http_server.serve_forever()
运行之后可以先访问/asyn/1/再访问/test/,可以明显发现,/asyn/1/在做耗时任务时不会影响其他请求
来源:https://blog.csdn.net/danny_amos/article/details/50859383
0
投稿
猜你喜欢
- 起因修改了表结构以后执行python3 manage.py migrate 报错:django.db.utils.OperationalEr
- python2中的unicode()函数在python3中会报错:NameError: name 'unicode' is
- 先放关键代码:i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, s
- 前言学学Python中操纵JSON的知识。学完本文,你可以学到如下内容:1、JSON是什么?2、JSON与XML的优劣差异?3、将Pytho
- 前言我们今天的任务很明确,我先系统梳理一下:1.先用Python爬取一波漂亮的美女照片;2.然后Python中炫酷的代码实现;3.最后用ma
- 映射类型操作符(1)标准类型操作符 字典可以和所有的标准
- 本文实例讲述了Python实现的手机号归属地相关信息查询功能。分享给大家供大家参考,具体如下:根据指定的手机号码,查询其归属地等相关信息,P
- 俺觉得自 己试着写写sql,调试调试还是有帮助的,读人家sql例子好像读懂了,自己写就未 必思路正确,调试得通,写得简洁。 这篇文字在网上被
- 本文实例讲述了Python中pandas模块DataFrame创建方法。分享给大家供大家参考,具体如下:DataFrame创建1. 通过列表
- 本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。主要包括有:完善部分:输入错误;无数据查询等异
- python实现二级登陆菜单的代码如下所示:""" 1. * 菜单 注册 登陆 注销 2.进入每一个一级菜单,都
- 今天给大家介绍一个非常 NB 的Python 库,专门用来绘制地图的,它叫 Folium 。1. Folium简介Folium是一个基于le
- HTML文件 一、 设置编码UTF-8对于中文网页需要使用<meta charset="utf-8">声明编
- 把文件夹dir1中后缀为'.jpg'的文件拷贝到文件夹dir2中:import globimport shutilimpor
- 什么是浅克隆、深克隆浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址。深克
- 本文实例讲述了C#简单访问SQLite数据库的方法。分享给大家供大家参考,具体如下:下载最新版SQLite(http://www.sqlit
- 前言:相信大家在童年或者生活中都玩过石头剪刀布这个游戏,这个游戏需要两个及以上的人。而今天,网上也实现了石头剪刀布的游戏。通过初步学习pyt
- 如果你有一堆 PPT 要做,他们的格式是一样的,只是填充的内容不一样,那你就可以使用 Python 来减轻你的负担。PPT 分为内容和格式,
- 看代码吧~// Strval 获取变量的字符串值// 浮点型 3.0将会转换成字符串3, "3"// 非数值或字符类型的
- 需要下载某网站的视频,chrome浏览器按F12打开开发者模式,发现视频链接是以"blob:http"开头的链接,打开这