gpt4 book ai didi

python - 如何将对一个 URL 的请求分派(dispatch)到多个线程?

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:54 25 4
gpt4 key购买 nike

这是一个测试应用程序:

#!/usr/bin/env python

from flask import Flask
from time import sleep

application = Flask(__name__)
application.debug = True

@application.route('/a')
@application.route('/b')
@application.route('/c')
def a():
sleep(10)
return 'Hello world.'

if __name__ == '__main__':
application.run()

此应用程序部署在 Apache 上:

WSGIDaemonProcess Test processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup Test

如果你

  • 在 00:00 请求/a
  • 在 00:01 请求/b
  • 在 00:02 请求/c

,你会

  • 在 00:10 收到/a 的回复
  • 在 00:11 收到来自/b 的响应
  • 在 00:12 收到来自/c 的响应

但是如果你

  • 在 00:00 请求/a
  • 在 00:01 请求/a
  • 在 00:02 请求/a

,你会

  • 在 00:10 收到/a 的回复
  • 在 00:20 收到/a 的回复
  • 在 00:30 收到/a 的回复

所以我猜对一个 URL 的每个请求都在一个线程中处理。现在我打算开发一个拉长服务器,我觉得我需要将每个请求都派发到一个独立的线程,以避免阻塞后续请求。我应该怎么办?

最佳答案

这个问题已经解决了。我的猜测是错误的,事实是:
在 Chrome 浏览器中,如果两个请求由相同的协议(protocol)、主机名、端口和路径组成,则在前一个请求关闭之前,后一个请求不会发送。
被阻止的不是服务器而是浏览器。

关于python - 如何将对一个 URL 的请求分派(dispatch)到多个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366050/

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