首页 > 解决方案 > 即使在收到完整请求之前,我如何才能知道 Flask 请求何时开始?

问题描述

我想计算将文件上传到 Flask 应用程序需要多长时间。我正在尝试使用这样的东西来知道上传何时开始:

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

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

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

标签: pythonflasktimeupload

解决方案


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

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


推荐阅读