我正在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后开始发生的。
有谁知道如何解决这个问题?
答案 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%有效。
希望这会有所帮助,祝你好运!