Herokuの無料プランは30分アクセスがないとスリープしてしまいます。(スリープしたアプリにアクセスすると応答に10秒くらいかかります)
スリープを防ぐため、Heroku Scheduler
を使って10分おきにcurlでリクエストを送るように設定します。
設定方法
-
Herokuのダッシュボードから、アドオン
Heroku Scheduler
を追加- コマンドで追加する場合は
$ heroku addons:create scheduler:standard
- コマンドで追加する場合は
-
ダッシュボードのアドオン一覧から
Heroku Scheduler
をクリックし、設定画面に移動
注意点
-
Heroku Scheduler
は確実に動作を保証するものではないらしいです。動作しなかったり、2回実行されちゃったりする場合があるとのこと。今回の場合は30分に1回でもアクセスがあれば良いので、特に問題はないですが、念のため。 - Herokuの無料プランは、全ての無料アプリ合計で月1000時間までです。1ヶ月は約720時間なので、複数アプリを無料で運営することはできません。
- Heroku Schedulerが動いている間、Scheduler動作分も月1000時間の無料枠から時間が消費されていきます。