Heroku 에 Deploy 시킨 App 들이 잘 동작하다가 30분정도 지나면 잘 끊기는 현상이 발생한다.

원인은 Heroku 내부에서 각 App 마다 동작하는 엔진인 dyno 가 30분이 지나면 sleep모드로 진입하여서 발생하는 현상이다.


Dyno 의 Sleep을 방지하려면 30분이전에 deploy 된 App URL 을 주기적으로 연결하여, sleep 모드에 돌입하지 않게 하는 여러 방법이 있다.

  • hubot-heroku-keepalive
    • Hubot 에서 사용가능한 모듈로 되어 있어서 config 설정시 HUBOT_HEROKU_KEEPALIVE_URL 을 넣어 주면 된다.
  • Kaffeine
    • Heroku Deploy URL을 넣어주면 해당 사이트에서 주기적으로 URL에 연결을 하여, sleep 모드에 돌입하지 않게 해주는 프로젝트

Reference: https://quickleft.com/blog/6-easy-ways-to-prevent-your-heroku-node-app-from-sleeping/

Posted by leechwin

댓글을 달아 주세요

  1. 초보자 2017.08.02 15:54  댓글주소  수정/삭제  댓글쓰기

    첫번재 방법 어떻게 하는건지 잘 모르겠습니다. 좀 더 자세히 알려주실 수 있나요?..

    • Favicon of https://leechwin.tistory.com BlogIcon leechwin 2017.08.09 20:25 신고  댓글주소  수정/삭제

      hubot-heroku-keepalive (https://github.com/hubot-scripts/hubot-heroku-keepalive) 모듈을 포함시킨 상태에서 heroku app을 deploy 하기전에 heroku app의 dashboard -> Settings -> Config Vars에 HUBOT_HEROKU_KEEPALIVE_URL 과 deploy 된 app url 을 적어주면 됩니다.