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)
相关推荐
m0_748248652 分钟前
GraphRAG如何使用ollama提供的llm model 和Embedding model服务构建本地知识库
python·flask·embedding
洪信智能9 分钟前
DeepSeek技术发展研究:驱动因素、社会影响与未来展望
人工智能·python
Damon小智28 分钟前
使用Pygame制作“青蛙过河”游戏
python·游戏·pygame
亿牛云爬虫专家1 小时前
FastAPI与Selenium:打造高效的Web数据抓取服务
爬虫·python·selenium·fastapi·图片·代理ip·pixabay
会讲英语的码农1 小时前
Jupyter Lab的使用
ide·python·jupyter
计算机-秋大田1 小时前
基于微信小程序的绘画学习平台的设计与开发
spring boot·后端·学习·微信小程序·小程序·课程设计
勇敢一点♂1 小时前
canal-python的安装与入门
数据库·python
云空1 小时前
《DeepSeek R1:7b 写一个python程序调用摄像头获取视频并显示》
开发语言·python·音视频
努力的小雨1 小时前
腾讯云HAI与DeepSeek携手打造私有化高效代码助手
后端
孔瑾熙2 小时前
Ruby语言的循环实现
开发语言·后端·golang