Heroku H12请求超时在提供预编译资产时出错

时间:2015-04-23 17:40:21

标签: heroku

我正在Heroku上运行rails应用程序。我每隔几个小时就得到H12请求超时错误:

heroku/router:  at=error code=H12 desc="Request timeout" method=GET path="/assets/application-c280172e4ef44cbe29d1fc72c6dfcd00.js" host=www.justvacay.com request_id=8e570b7c-0470-47b7-9f3b-41c1158b448d fwd="66.249.79.111" dyno=web.1 connect=4ms service=30005ms status=503 bytes=0 

这是在我安装了unicorn-worker-killer后开始发生的。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Heroku在30秒钟内不会处理HTTP请求,因此,如果您尝试托管执行繁重任务的应用程序,例如,访问有效的API或需要很长时间的其他内容,则最好创建一个可以在后台进行繁重编码的工人dynos。

这是执行此操作的步骤:
https://devcenter.heroku.com/articles/background-jobs-queueing

另一种(潜在的)解决方案是进入耗时的应用程序,并在每个函数中创建会话,以避免heroku超时。这是有关如何执行此操作的示例:

https://help.heroku.com/AXOSFIXN/why-am-i-getting-h12-request-timeout-errors-in-nodejs

虽然不能保证100%有效。

希望这会有所帮助,祝你好运!