Herokuはウェブアプリの開発から実行、運用を簡単にするプラートフォームで、うちの殆ど全てのアプリをHerokuでホスティングしている。
プロフェッショナルアプリの場合、月極めのホスティング費用が高くなるが、DevOpsは不要なのでトータル料金が安くなる。
趣味で作ったアプリも利用できるHerokuは無料サーバーを提供。メモリーや速さなどの限度はあるがCLIからpushすることだけでデプロイできるのでものすごく便利。
ただし、無料の場合アクセスがないと30分でスリープしてしまい、スリープしてしまうと、アクセスした時点で起動するのでサイトが遅くなる。

どうやってこれを回避できるかと今日考えたけど、解決方法が意外と楽チンだった。
30分毎にアクセスが必要だし、そのアクセスの発信元がどこからでも良いので、アプリが自分を叩けばスリープしないはず。

Herokuの環境では色々なAddonを追加できる。そのAddonの一つはスケジューラといい、cronjobみたいなものだ。インターフェースは下記の通り。


Job editor for Heroku Scheduler Addon

"Every 10 minutes"を選択し、下記のようなcurlコマンドを入れてみた。
$ curl https://your-app-name-here.herokuapp.com/
そして30分待つともう一度アプリをアクセスしてみたら… 大成功!このような小さな問題の解決でもやっぱり楽しい。