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)
相关推荐
空影星2 分钟前
轻量日记神器RedNotebook,高效记录每一天
python·数据挖掘·数据分析·音视频
Victor3564 分钟前
Redis(153)Redis的网络使用如何监控?
后端
码一行7 分钟前
Eino AI 实战:解析 PDF 文件 & 实现 MCP Server
后端·go
Victor35616 分钟前
Redis(152) Redis的CPU使用如何监控?
后端
搬砖ing换来金砖19 分钟前
Python入门-Task02
开发语言·python
P***843924 分钟前
解决Spring Boot中Druid连接池“discard long time none received connection“警告
spring boot·后端·oracle
雨中散步撒哈拉28 分钟前
17、做中学 | 初三下期 Golang文件操作
开发语言·后端·golang
倚肆32 分钟前
Spring Boot CORS 配置详解:CorsConfigurationSource 全面指南
java·spring boot·后端
databook32 分钟前
告别盲人摸象,数据分析的抽样方法总结
后端·python·数据分析
v***446735 分钟前
springboot之集成Elasticsearch
spring boot·后端·elasticsearch