Cloud Scheduler では、作業単位のスケジュールを設定して、定義した回数または一定の間隔で実行できます。これらの作業単位は、一般的に cron ジョブと呼ばれています。代表的な使い方としては、レポートメールを毎日送信する、10 分間隔でキャッシュ データを更新する、1 時間に 1 回要約情報を更新する、などがあります。
Cloud Scheduler を使用して作成された各 cron ジョブは、指定のスケジュールに従ってターゲットに送信されます。ターゲットはタスクが処理される場所です。ターゲットは、次のいずれかのタイプでなければなりません。
- HTTP/S エンドポイント
- Pub/Sub トピック
- App Engine HTTP/S アプリケーション
Cloud Scheduler は、「1 回以上」を基本に処理を行うよう設計されています。つまり、ジョブはスケジュールされた実行ごとに少なくとも 1 回実行されます。まれに、1 つのスケジュールのインスタンスに関連付けられたジョブが複数回実行される可能性があるため、繰り返し実行されても有害な副作用が生じないように注意してください。ターゲットはべき等である必要があります。
cron ジョブは、Cloud Console または gcloud コマンドライン ツールのいずれかを使用して作成できます。
ターゲットでサポートされているリージョン
ターゲットがHTTP/S エンドポイントまたはPub/Sub トピック)、Cloud Scheduler は、Cloud Scheduler 用にサポートされているすべての Google Cloud リージョンをご覧ください。
ターゲットが現在のプロジェクト内にある App Engine アプリケーションの場合:
App Engine をターゲットとする Cloud Scheduler ジョブは、プロジェクトの App Engine リージョンでのみ作成できます。
Google Cloud プロジェクトには 1 つの App Engine アプリのみを配置できます。App Engine アプリの作成後には、アプリが配置されているリージョンは変更できません。
App Engine はリージョンの影響を受けます。つまり、アプリを実行するインフラストラクチャは特定のリージョンに配置されています。コンピューティングとジョブを複数のリージョンに分散する場合は、代わりに HTTP/S エンドポイントまたは Pub/Sub トピックをターゲットにする必要があります。
App Engine をターゲットとして使用していない場合、App Engine アプリをデプロイする必要はなく、既存の App Engine アプリを無効にできます。
ジョブの再試行ポリシー
Cloud Scheduler ジョブが正常に完了せず、ジョブ ハンドラから確認応答が受信されなかった場合、構成された再試行ポリシーに従って指数バックオフで再試行されます。
再試行動作を決定する設定を構成できます。詳細については、RetryConfig
をご覧ください。