对gevent flask api的多个调用未并行处理

2024-04-20 10:09:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有gevent的修补过的FlaskAPI,它似乎不能并行处理请求

使用gevent版本=1.4.0进行测试;python 2.7和python 3.7

(我也用gevent.sleep试过,仍然不起作用)

from gevent import monkey
monkey.patch_all()
from flask import Flask
from gevent.pywsgi import WSGIServer
import gevent
import time
app = Flask(__name__)

@app.route('/')
def overview():
    print('1')
    time.sleep(10)
    print('2')
    return "ok"


WSGIServer(('', 3341), app).serve_forever()

通过浏览器中的不同选项卡发送的两个请求的输出:

1
2
::1 - - [2020-01-09 16:51:42] "GET / HTTP/1.1" 200 117 10.006179
1
2
::1 - - [2020-01-09 16:51:52] "GET / HTTP/1.1" 200 117 10.005313

👆 显示服务器正在按顺序处理请求

谢谢你的帮助


Tags: fromimport版本apphttpflaskgettime