Flask+gevent 实现异步请求处理

Flask+gevent 实现异步请求处理

使用flask+gevent实现异步请求处理,首先gevent库要使用猴子布丁,使底层I/O支持异步处理。

1 使用猴子补丁

python 复制代码
from gevent import monkey
monkey.patch_all()

使用猴子补丁后, 内建函数time.sleep()已经魔改成gevent.sleep(), 这两个函数的效果是一样的。

2 相同的url请求无法实现异步处理

例如同时发出的两个请求,url相同是不可能实现异步处理的。

req1: /api/v2.1/test

req2: /api/v2.1/test

url不同的情况, 如下

req1: /api/v2.1/test

req2: /api/v2.1/test?s=1

req1: /api/v2.1/test

req2: /api/v2.1/test2

有可能实现网络请求的异步处理。

3 url请求处理中包含异步函数

在url请求的处理代码中包含异步函数。 例如

python 复制代码
time.sleep(0.1)

gevent.sleep(0.2)
相关推荐
Funcy11 分钟前
XxlJob 源码分析03:执行器启动流程
后端
He19550125 分钟前
Go初级之十:错误处理与程序健壮性
开发语言·python·golang
和鲸社区1 小时前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
豌豆花下猫2 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
THMAIL2 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
wheeldown2 小时前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11
秋难降2 小时前
SQL 索引突然 “罢工”?快来看看为什么
数据库·后端·sql
多打代码3 小时前
2025.09.05 用队列实现栈 & 有效的括号 & 删除字符串中的所有相邻重复项
python·算法
@CLoudbays_Martin113 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
程序猿炎义3 小时前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习