我正在 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
Run Code Online (Sandbox Code Playgroud)
在我安装 unicorn-worker-killer 后,这种情况开始发生。
有谁知道如何解决这一问题?
小智 1
Heroku 处理 HTTP 请求的时间不会超过 30 秒,因此,如果您尝试托管一个执行繁重任务的应用程序(例如,访问工作 API 或其他需要很长时间的任务),最好创建工作线程 dyno可以在后台进行繁重的编码。
以下是执行此操作的步骤:
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% 保证有效。
希望这对您有所帮助并祝您好运!
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |