Heroku スケジューラー

Heroku が提供するジョブスケジューラー機能を利用できるようになります。指定した時間間隔で指定したコマンドを定期実行できます。

images/cards/Heroku_logo.svg.webp

目次

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"

関連記事