gpt4 book ai didi

python - 对 gevent flask api 的多次调用未并行处理

转载 作者:行者123 更新时间:2023-12-05 07:15:10 24 4
gpt4 key购买 nike

我有一个带有 gevent 的 monkey patched flask api,它似乎无法并行处理请求。

使用 gevent version = 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

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

感谢您的帮助。

最佳答案

根据这个答案学习后,我发现 Chrome 浏览器是罪魁祸首: https://stackoverflow.com/a/62912019/253127

基本上 Chrome 会尝试缓存第一个请求的结果,然后将其提供给其他选项卡。奇怪的是,似乎只有我的第一个隐身窗口有效,随后的隐身窗口也停止了。

总的来说,使用每个窗口:

  • 普通 Chrome
  • Chrome 隐身
  • 微软边缘

我终于在 stdout 上看到了 3 个即时 print('1') 语句

关于python - 对 gevent flask api 的多次调用未并行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59674273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com