【问题标题】:How can I tell when a Flask request has begin, even before full request has been received?即使在收到完整请求之前,我如何才能知道 Flask 请求何时开始?
【发布时间】:2020-06-29 01:56:37
【问题描述】:

我想计算将文件上传到 Flask 应用程序需要多长时间。我正在尝试使用类似的方法来了解上传开始的时间:

@app.before_request
def before_request():
    g.start = time.time()

但是,before_request 仅在完整的请求(文件)上传后才会触发,所以我最多只能测量处理上传的文件需要多长时间。

我是否可以使用另一个信号/装饰器来确定何时发起请求,甚至在完整请求可用之前? (即当用户开始上传文件时,但在开始之前?)

【问题讨论】:

标签: python flask time upload


【解决方案1】:

我不确定我是否正确,只是在这里猜测。

Flask 本身不是 Web 服务器,它只是作为 CGI 应用程序服务。我的猜测是 Web 服务器(例如您使用的开发服务器或 Apache HTTP 服务器)能够知道请求是否已经到达,并且它将接收文件。完成后,它会将请求分派给 Flask。

【讨论】:

  • 我认为你可能是对的@DrizzleX。我在 Flask 文档中找不到任何东西来触发 before 请求被调度,只有before_request 在调度之后和处理之前触发(需要明确的是,在使用蓝图时调度之前有一个触发器,但即便如此,Flask 应用程序也会收到完整的请求)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-04
相关资源
最近更新 更多