目次
0. Introduction
-
対象となる読者
- Heroku アプリケーションで定期的なタスクを実行したいと思っている方
-
本記事の価値
- Heroku が提供するジョブスケジューラー機能を利用できるようになります。指定した時間間隔で指定したコマンドを定期実行できます。
-
前提
- Heroku でアプリケーション開発をしている方、運用している方
1. Auth Token を生成
認証トークンを使って API リクエストの発行元のアカウントを特定します。Heroku プラットフォーム API で説明されているように、Heroku CLI で以下のコマンドを実行して、認証トークンを作成します。出力される認証トークンは控えておいてください。
heroku authorizations:create
2. Heroku Scheduler アドオンをインストール
Heroku アプリ(ここでは"test-app"とします)に、Heroku Scheduler add-onをインストールします。
heroku addons:create scheduler:standard -a test-app
3. スケジューラーにタスク登録
スケジューラを開き、ジョブの追加に移動します。 ジョブ エディターで次のコマンドを入力します。 このコマンドは dyno を再起動します。 ここでは、定期的に dyno を再起動するタスクを登録します。以下の"XXXXXXXX"には、1 で生成した認証トークンを入れてください。
curl -n -X DELETE https://api.heroku.com/apps/test-app/dynos \n -H "Content-Type: application/json" \n -H "Accept: application/vnd.heroku+json; version=3" \n -H "Authorization: Bearer XXXXXXXX"