4

我如何找出导致 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
4

2 回答 2

2

以下是您应该如何进行

  1. 安装应用程序监控解决方案newrelic。它会为您提供超时的 URL 列表。新遗物是付费的,但也有免费版本的新遗物。
  2. 现在,尝试隔离并重现超时错误。因为如果你不能复制它。你无法修复它。
于 2013-08-15T13:59:29.783 回答
0

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

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

于 2013-08-15T13:34:49.190 回答