Flask - 请求完成后订阅日志的正确信号?

Flask - Correct signal to subscribe to log after a request was finished?

我想将请求(即用户页面浏览量)记录到数据库中,但我只想在请求完成且数据成功发送到客户端后将请求元数据记录到数据库中。

flask request_tearing_down 是正确的订阅信号吗? request_finished怎么样?

看起来你不想要 request_finished。来自文档:

This signal is sent right before the response is sent to the client.

据我所知,request_tearing_down 在发送响应之前也会被触发。

我认为不存在您可以在发送响应后订阅以执行某些操作的特定信号。您也许可以修改 Flask 的代码以自己添加一个。

您最好的选择可能是使日志记录异步发生,这样就不会延迟响应。您可以使用线程或子进程自己完成此操作,或者您可以使用像 Celery 这样的库来为您完成一些工作。

另见 this question