GAEのcron.yamlの書き方(スケジュール周りを中心に)

1 min read読了の目安(約1400字

Google App Engine(GAE)ではApp Engine Cronサービスを使ってサクッと定期実行のタスクが作れる。

cron.yaml

cron.yamlの書き方はこんな感じ。

cron.yaml
cron:
- description: "タスクの説明"
  target: default # タスクを実行するGAEのインスタンス
  url: /cron # 叩くURL
  schedule: every day 07:30 # スケジュール
  timezone: Asia/Tokyo

複数あるなら同じように並べる。

cron.yaml
cron:
- description: "タスクの説明"
  target: default
  url: /cron # 叩くURL
  schedule: every day 07:30
  timezone: Asia/Tokyo
- description: "タスク2の説明"
  target: default
  url: /cron # 叩くURL
  schedule: every day 17:30
  timezone: Asia/Tokyo

cron.yamlのscheduleの書き方

備忘録を兼ねてまとめ

こんな形式で書く

schedule: [スケジュールのタイプ] [間隔] [日時の範囲]

毎日7:30

schedule: every day 07:30

毎月1日

schedule: 1 of month 15:00

毎月1日の15:00に実行される

毎月の特定の日付(複数)

schedule: 1,2,3 of month 07:00

毎月1、2、3日の07:00に実行される

1分おき

schedule: every 1 mins

minutesと書いてもいいしminsと書いてもいい

10分おき

schedule: every 10 mins

1時間おき

schedule: every 10 hours

指定時間内で10分おき

schedule: every 10 mins from 07:00 to 23:50

7:00〜23:50までの間で10分おきに実行される

複数の特定の時刻

10:30と12:30に実行したい場合はこうする

schedule: every 2 hours from 10:30 to 12:30

2時間おきにしてfrom 10:30 to 12:30とすれば10:30と12:30に実行される

指定した日付だけ

schedule: 1 of april 00:00

4月1日の00:00に実行される

指定した曜日だけ

every mon, thu, sun 04:00 # 月曜と木曜と日曜だけ