【问题标题】:How to debug a Heroku request timeout error如何调试 Heroku 请求超时错误
【发布时间】:2013-08-15 21:59:29
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails heroku timeout


    【解决方案1】:

    这里是你应该如何进行

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

    【讨论】:

    • 谢谢!我会将newrelic添加回应用程序
    【解决方案2】:

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

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

    【讨论】:

    • 它似乎只是在不同时间的不同页面上随机发生。
    猜你喜欢
    • 2021-08-07
    • 2012-06-14
    • 2018-01-04
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多