如何在Pyramid中响应完成后执行一个方法?
在使用Pyramid和Akhet的时候,我想知道怎么在给客户端返回响应之后再执行一个方法。之前在Pylons中是通过一个叫__after__
的方法来实现的。我现在想执行一个数据库查询,但又不想让这个查询影响到请求的响应。
1 个回答
1
你可以使用一个叫做 响应回调 的东西来解决你的问题。
根据Michael Merickel的评论进行的编辑: 这个响应回调会阻止它所添加的请求,但你不需要担心这个回调会影响其他请求,因为每个请求都是在不同的线程中运行的。如果你还想让这个回调不阻塞请求,你可以开启一个新的线程或者进程(如果你有这个能力的话),或者可以考虑使用消息队列系统,正如下面评论中提到的那样。