如何调试Heroku请求超时错误

时间:2013-08-15 13:25:02

标签: ruby-on-rails heroku timeout

如何找出heroku上导致h12超时错误的原因?

它在不同的页面/控制器上随机发生。

这是我从日志中得到的错误

Processing by UsersController#new as HTML
2013-08-15T13:08:54.718157+00:00 app[web.1]: Started GET "/signup" for 105.226.239.198 at 2013-08-15 13:08:54 +0000
2013-08-15T13:08:54.744390+00:00 app[web.1]:   Rendered communal/_error_messages.html.erb (0.6ms)
2013-08-15T13:09:24.714225+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path=/signup host=www.goodwordlabs.com fwd="105.226.239.198" dyno=web.1 connect=3ms service=30000ms status=503 bytes=0
2013-08-15T13:09:25.518168+00:00 app[web.1]: E, [2013-08-15T13:09:25.517428 #2] ERROR -- : worker=0 PID:5 timeout (31s > 30s), killing
2013-08-15T13:09:25.554402+00:00 app[web.1]: E, [2013-08-15T13:09:25.554166 #2] ERROR -- : reaped #<Process::Status: pid 5 SIGKILL (signal 9)> worker=0
2013-08-15T13:09:25.980010+00:00 app[web.1]: I, [2013-08-15T13:09:25.979551 #26]  INFO -- : worker=0 ready
2013-08-15T13:08:51.088169+00:00 heroku[router]: at=info method=GET path=/assets/clients/client1-03dfd2afecf092e15b9e3350d04acdc6.png host=www.goodwordlabs.com fwd="105.226.239.198" dyno=web.1 connect=2ms service=7ms status=304 bytes=0

2 个答案:

答案 0 :(得分:2)

以下是您应该如何处理

  1. 安装应用程序监控解决方案newrelic。它会为您提供超时的URL列表。新的遗物已付,但也有新遗物的免费版本。
  2. 现在,尝试隔离&amp;重现超时错误。因为如果你不能重现它。你无法解决它。

答案 1 :(得分:0)

您可以尝试从heroku控制台向网站(www.goodwordlabs.com)发送请求。用这个运行heroku控制台 heroku run rails console

或尝试从终端的Curl发送具有相同参数的请求