Flask - 在请求完成后更正用于订阅日志的信号?

时间:2015-03-15 23:02:01

标签: python flask

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

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

1 个答案:

答案 0 :(得分:5)

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

  

此信号在响应发送到客户端之前发送。

从我收集的信息中,request_tearing_down也会在发送回复之前被触发。

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

您最好的选择可能是使日志记录异步发生,以便它不会延迟响应。您可以使用线程或子进程自行完成此操作,也可以使用Celery之类的库为您完成一些工作。

另见this question