4

我们在一个环境(Heroku)中运行,其中超过 30 秒的请求将被中断。因此,我们的 Web 服务器(Unicorn)设置为在 15 秒后中止。我们注意到,当请求被中断时,似乎没有信息记录到 NewRelic。

关于如何解决这个问题的任何建议?我的第一个想法是使用 Rack::Timeout 让 Rack 取消请求。这适用于 newrelic_rpm 吗?newrelic 在中间件链的哪个位置注入?

我们使用 Sinatra 运行 Ruby 1.9.3。

先感谢您!

4

1 回答 1

2

您应该能够使用 Rack::Timeout 并让 New Relic 将生成的异常报告为错误。

Unicorn 超时导致 worker 被杀死,其中包括 New Relic 报告线程。

于 2013-05-29T06:30:26.983 回答