AIイノベーションズ
Railway/Guides

スケジュールジョブを実行する

Railway で cron ジョブ(Scheduled Jobs)を設定し、定期的なタスクを自動実行する方法を解説します。

著者: AIイノベーションズ 阿部隼也X / Twitter

Railwayはこちら

Cron ジョブを設定する

Railway では Scheduled Jobs 機能を使って、分単位・時間単位・日次などのスケジュールで任意のコマンドを実行できます。バックアップ、バッチ処理、メール送信などに最適です。


1. ジョブの作成手順

  1. プロジェクト Canvas で Create → Cron Job を選択
  2. NameSchedule を入力
  3. Command に実行したいシェルコマンドを記述
  4. 環境変数が必要な場合は Variables タブで追加
  5. Create を押して作成完了

スケジュールの書式

  • 標準的な CRON 式 (*/5 * * * *) に対応
  • @hourly, @daily などのエイリアスもサポート
説明
0 0 * * *毎日 00:00 に実行
*/10 * * * *10 分おき
@weekly毎週日曜 00:00

2. ログと結果確認

  • Logs タブで出力をリアルタイム確認
  • ジョブが失敗するとステータスが Failed になり、リトライ設定(デフォルト 3 回)後も失敗すると通知が送信されます

3. よくある質問

質問回答
同時実行は?同じジョブがまだ実行中の場合、新しい実行はスキップ (at-most-once)
タイムゾーンUTC で解釈される。ローカル時間で動かす場合は CRON 式を調整
最大実行時間60 分 (Pro プランは 6 時間) を超えると強制終了

4. ベストプラクティス

  1. コマンドの先頭で set -euo pipefail を付けてエラー検知を厳密化
  2. 実行時間が長い処理はワーカーサービスに分割し、Cron ではキックのみ行う
  3. 重要ジョブは Slack / Discord Webhook で通知を設定

まとめ

Scheduled Jobs を活用すると、従来サーバーや外部サービスで管理していた cron を Railway 内で完結できます。運用負荷を減らしつつ、ログの一元管理やリトライ設定で信頼性も向上します。ぜひ活用してください!

Railwayはこちら

PR