关于ruby on rails:heroku router – – at = error code = H12 – 网站每天或每两天停机30秒

heroku router - - at=error code=H12 - Site going down for 30s every day or two

Heroku Rails站点每天或每两天最多停机30秒,由正常运行机器人发送警报。

尝试运行一些基本的负载测试,并且在稳定的流量下似乎没有关闭网站。 没有在主页上运行任何昂贵的查询。

错误日志如下所示。 在爱好dev上运行rails。
没有通过New Relic获得任何错误。 跑Puma'puma','?> 2.15.3'。
将此设置设置为机架超时initailizer:Rack :: Timeout.timeout = 15

Dec 07 20:14:46 sleepy-wave-3748 heroku/router: at=error code=H12 desc="Request timeout" method=GET path="/" host=mySiteUrlHere request_id=274ed877-2edb-43f2-8b77-c7a82f17109a fwd="69.162.124.231,108.162.221.131" dyno=web.1 connect=1ms service=30007ms status=503 bytes=0

Dec 07 20:35:46 sleepy-wave-3748 heroku/router: at=error code=H12 desc="Request timeout" method=HEAD path="/" host=mySiteUrlHere request_id=1b43b249-f089-4a4a-a42b-b2886d607fa8 fwd="69.162.124.231,108.162.221.131" dyno=web.1 connect=0ms service=30003ms status=503 bytes=0

有什么建议 ?


Heroku通常会在30秒后断开连接并返回503错误。 您的服务似乎可能成功响应,但在30秒后过了。 这可以解释为什么你没有看到应用程序错误,但看到Heroku错误。

编辑:我想我可能误解了你的问题。 Heroku在一些dynos上经历了一个骑行过程。 在此期间,您的应用程序可能会出现故障。 如果您使用的是免费动态,他们需要一段时间的停机时间(每24小时滚动一次)


我想我已经解决了。 我在Puma github帐户中找到了与此问题相关的拉取请求,并注意到该修复程序已包含在Puma的更高版本中。 升级我的Puma版本后,问题已经停止发生。 希望这可以帮助其他人。

注意,我从2.11.2升级到Puma 2.15.3。