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)
相关推荐
苍何1 天前
Coding 真有质的飞跃?实测下豆包seed 2.1 pro
后端
苍何1 天前
试了下腾讯 Marvis,回不去了...
后端
caibixyy1 天前
springboot+langchain4j 实战 Day14——工具嵌入多 Agent(Tool-Equipped Multi-Agent)
后端
caibixyy1 天前
springboot+langchain4j 实战 Day13 多 Agent 协作(Router + 子 Agent 分流)
后端
飘尘1 天前
前端转全栈(Java 后端)必须要知道的:开发中的锁机制与分布式并发控制
前端·后端·全栈
苍何1 天前
清华团队做了个具身智能大脑,有点东西!
后端
fliter1 天前
强类型的诅咒,还是 Rust 类型系统的生存指南
后端
用户8356290780511 天前
Python 操作 PDF 附件:添加、查看与管理指南
后端·python