terada_life

ghaのcronの実行タイミングが一定ではないことについて

概要

GitHub Actions の schedule (cron) トリガーは、指定した時刻ちょうどに実行される保証がなく、遅延が発生することがある。

内容

cron トリガーの仕様

  • schedule イベントは UTC ベースの cron 構文で指定する
  • ただし、指定時刻はあくまで「目安」であり、正確にその時刻に実行されるとは限らない

遅延が発生する理由

  • GitHub Actions の共有ランナーは需要に応じてキューイングされるため、負荷が高い時間帯(UTC 0時前後など)は特に遅延しやすい
  • 公式ドキュメントでも「スケジュールされたワークフローの実行が遅延する可能性がある」と明記されている
  • ピーク時には数分〜数十分の遅延が発生することがある

注意点

  • 正確な時刻での実行が必要な場合は、GitHub Actions の cron に依存しない方法を検討すべき(例: 外部スケジューラ、AWS EventBridge + Lambda など)
  • cron の最短間隔は 5 分だが、高頻度スケジュールは遅延やスキップが起きやすい
  • リポジトリが 60 日間非アクティブだとスケジュールが自動で無効化される

参考資料

なぜこの問題に気づいたか

alcの受託業務において、

メタデータ

  • ステータス: 下書き
  • タグ: GitHub Actions, CI/CD, cron
  • 作成日時: 2026/04/02
  • 更新日時: 2026/04/02