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)
相关推荐
清水白石0081 分钟前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
JaydenAI5 分钟前
[LangChain之链]LangChain的Chain——由Runnable构建的管道
python·langchain
kali-Myon6 分钟前
2025春秋杯网络安全联赛冬季赛-day3
python·安全·web安全·ai·php·web·ctf
牛奔6 分钟前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱11 分钟前
二叉树遍历思维实战
javascript·后端·算法
AbsoluteLogic11 分钟前
Python——彻底明白Super() 该如何使用
python
小猪咪piggy15 分钟前
【Python】(4) 列表和元组
开发语言·python
墨理学AI32 分钟前
一文学会一点python数据分析-小白原地进阶(mysql 安装 - mysql - python 数据分析 - 学习阶段梳理)
python·mysql·数据分析
爱装代码的小瓶子35 分钟前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
数研小生39 分钟前
亚马逊商品列表API详解
前端·数据库·python·pandas