我想将请求(即用户页面浏览量)记录到数据库,但我只想在请求完成且数据成功发送到客户端后将请求元数据记录到数据库。
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 这样的库为您做一些工作。