我最近在heroku上部署了使用RoR构建的个人网站。今天我试图打开我的网站,该网站已关闭。如果我想确保进程自动重启是RoR还是heroku的功能?这种情况下的最佳做法是什么?
更新:这是用于解决问题的heroku日志:
2013-06-10T08:24:12.852597+00:00 heroku[web.1]: Idling
2013-06-10T08:24:15.762803+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2013-06-10T08:24:16.487918+00:00 app[web.1]: [2013-06-10 08:24:16] ERROR SignalException:
SIGTERM
2013-06-10T08:24:16.487918+00:00 app[web.1]:
/usr/local/lib/ruby/1.9.1/webrick/server.rb:90:in `select'
2013-06-10T08:24:26.878674+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one
process failed to exit within 10 seconds of SIGTERM
2013-06-10T08:24:26.878857+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2013-06-10T08:24:29.279913+00:00 heroku[web.1]: Process exited with status 137
2013-06-10T08:24:29.299601+00:00 heroku[web.1]: State changed from up to down
答案 0 :(得分:2)
这是Heroku的功能。如果您只有1个dyno正在运行,Heroku会在1小时不活动后将您的网站设置为空闲:https://devcenter.heroku.com/articles/dynos#dyno-idling
为了避免这种情况,您需要像pingdom或NewRelic这样的外部服务,至少每小时对您的网站进行一次ping操作,这样可以防止它闲置。
此外,最好确保您的网站快速启动,以便在闲置或重新启动时,它会快速恢复在线状态。但这是另一个问题的主题:)