「スケジュールは、誰かが指示しなくても定期的に作業を実行します。これらはファクトリーの「スケジュール」ビューで確認できます。
スケジュールの主な用途
合意が容易で忘れがちな定期的なメンテナンス作業:
- 依存関係の更新
- 蓄積される不要なコードや古いフラグ、未使用のエクスポートなどのクリーンアップ作業
- 定期レポートの作成
- 採用した基準に基づく定期的なチェック
共通する特徴は、作業内容が事前に明確に定義されている点です。スケジュールは何をすべきかを決定することはできず、あなたが事前に記述した指示を繰り返すだけです。
スケジュールが不向きなケース
優先度の判断が必要な作業には適しません。他の作業の状況に関係なく毎週月曜日に作業を開始するスケジュールは、実際に計画した作業と同じエージェントスロットを奪い合うことになります。
スケジュールされた作業は実際の処理能力を消費します
複数のスケジュールを作成する前に理解しておくべき点です。
スケジュールされたタスクは通常のタスクと同様です。キューに入り、エージェントスロットとモデル利用料金を消費します。1スロットのプランで毎日3つのスケジュールを設定すると、本来行うべき作業ができなくなる可能性があります。
実行履歴
各スケジュールには実行履歴とその結果が記録されます。時折確認してください。自動化の失敗パターンは大きな障害ではなく、予算を消費しながら何ヶ月も役に立たない結果を静かに生成し続けることです。
スケジュールによって12件のプルリクエストが作成されたにもかかわらず、1件もマージされていない場合、そのスケジュールは不適切です。
スケジュール、Sentinel、フック
人の介入なしで作業が開始される3つの方法:
| 仕組み | トリガー要因 |
|---|---|
| スケジュール | 時間 |
| Sentinel | 観測対象となる条件 |
| フック | プラットフォームイベント |
トリガーが本当に時間によるものならスケジュールを使用してください。実際には「これが真になるとき」を意味するのであれば、それはSentinelであり、無意味な作業が減ります。