created: 2024-10-01T05:31:00.564Z

GCP の Cloud Scheduler を gcloud で設定する

本当は terraform で設定した方が良さそうだけど、面倒くさい時に。

既存のジョブの一覧

gcloud scheduler jobs list \
    --location="$GCP_DEFAULT_REGION" \
    --project="$GCP_PROJECT_ID" \
    --format=json |
    jq '.[] | select(.name | test("'$JOB_NAME'"))'

新規作成

--schedule は CRON の形式で書ける。

  • eg: CRON="30 9 * * 1,4,6"
gcloud scheduler jobs create http "$JOB_NAME" \
    --project "$GCP_PROJECT_ID" \
    --location "$GCP_DEFAULT_REGION" \
    --uri "$APP_URL" \
    --time-zone "JST" \
    --schedule "$CRON" \
    --http-method "POST" \
    --message-body '{}'

更新

gcloud scheduler jobs update http "$JOB_NAME" \
    --project "$GCP_PROJECT_ID" \
    --location "$GCP_DEFAULT_REGION" \
    --uri "$APP_URL" \
    --time-zone "JST" \
    --schedule "$CRON" \
    --http-method "POST" \
    --message-body '{}'

参考

料金

「1 日 1 回 HTTP リクエスト投げるだけ」とか思ってると、思ってるより高い。

ジョブあたり $0.10/月

子育てブレスト: その手があったか!67のなるほど育児アイデア集
[ad] 子育てブレスト: その手があったか!67のなるほど育児アイデア集
佐藤 ねじ, 佐藤 蕗 (単行本)