我的 Plack Web 服务通过与 fluentD 的 TCP 连接进行日志记录,我想在将响应发送回客户端后执行我的日志记录代码。这将减少响应时间(假设这是一个高请求量服务,值得进行这种性能优化)。
至少有一个其他的 web 框架,用于 nodejs,通过允许中间件向请求对象添加一个端事件处理程序来支持这一点。我查看了Plack::Request和Plack::Response接口,但没有看到类似的事件挂钩。
我想我可能会在我的中间件中对finalize方法进行本地覆盖,以强制框架在响应完成后进行日志记录,但如果可能的话,我想避免修改 Plack 内部。
是否有更好的方法可以将某些代码的执行推迟到向客户端发送响应之后?