H12 - 请求超时

HTTP 请求需要超过 30 秒才能完成。在下面的示例中,Rails 应用程序需要 37 秒才能呈现页面; 在 Rails 完成其请求周期之前,HTTP 路由器返回 503,但 Rails 进程继续,并且在路由器消息之后显示完成消息。

2010-10-06T21:51:07-07:00 app[web.2]: Processing PostController#list (for 75.36.147.245 at 2010-10-06 21:51:07) [GET]
2010-10-06T21:51:08-07:00 app[web.2]: Rendering template within layouts/application
2010-10-06T21:51:19-07:00 app[web.2]: Rendering post/list
2010-10-06T21:51:37-07:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=myapp.herokuapp.com fwd=17.17.17.17 dyno=web.1 connect=6ms service=30001ms status=503 bytes=0
2010-10-06T21:51:42-07:00 app[web.2]: Completed in 37000ms (View: 27, DB: 21) | 200 OK [http://myapp.heroku.com/]

这个 30 秒的限制由路由器测量,包括在 dyno 中花费的所有时间,包括内核的传入连接队列和应用程序本身。