定期タスクのフィールドレベルリファレンス:cron 式の構文、保存先、実行制限、および自動失効ルール
スケジュールタスクを使用すると、Qoder CLI が指定された時間にプロンプトやスラッシュコマンドを自動的にトリガーできます。本ページでは、cron 式の形式、保存場所、および実行制限について説明します。スケジュールタスクの使用方法については、定期実行タスク を参照してください。
スケジュールタスクでは標準的な 5 フィールドの cron 式を使用し、CLI を実行するローカルタイムゾーンに基づいて解釈されます。
サポートされているフィールド構文:
永続化されたスケジュールタスクは、プロジェクト内の
タスクフィールド:
cron 式の形式
スケジュールタスクでは標準的な 5 フィールドの cron 式を使用し、CLI を実行するローカルタイムゾーンに基づいて解釈されます。
| 構文 | 意味 | 例 |
|---|---|---|
* | ワイルドカード、すべてに一致 | * * * * *(毎分) |
N | 単一値 | 0 9 * * *(毎日 9:00) |
*/N | ステップ、N 単位ごと | */15 * * * *(15 分ごと) |
N-M | 範囲 | 0 9-17 * * *(9 時から 17 時の毎正時) |
N,M,... | リスト | 0 9,12,18 * * *(毎日 9/12/18 時) |
一般的な例:L、W、?、および名前エイリアスはサポートされていません。日と曜日が同時に指定されている場合は「OR」セマンティクスが採用され、いずれかに一致すればトリガーされます(標準的な cron の動作)。
| 式 | 意味 |
|---|---|
*/10 * * * * | 10 分ごと |
0 * * * * | 毎正時 |
0 9 * * * | 毎日 9:00 |
0 9 * * 1-5 | 平日 9:00 |
0 0 */2 * * | 2 日ごとの 0:00 |
保存場所
永続化されたスケジュールタスクは、プロジェクト内の .qoder/scheduled_tasks.json に保存されます。ファイル形式は以下の通りです。
| フィールド | 説明 |
|---|---|
id | 8 桁の 16 進数によるタスク識別子。 |
cron | 5 フィールドの cron 式。 |
prompt | トリガー時にキューイングされるプロンプトテキストまたはスラッシュコマンド。 |
createdAt | 作成タイムスタンプ(ミリ秒)。 |
lastFiredAt | 最終トリガータイムスタンプ(ミリ秒、繰り返しタスクにより書き戻される)。 |
recurring | 繰り返しタスクかどうか。 |
タスクの種類
- 単発タスク(
recurringが false または省略されている場合):1 回トリガーされた後に自動的に削除されます。 - 繰り返しタスク(
recurring: true):周期に従って繰り返しトリガーされ、明示的に削除されるか自動的に期限切れになるまで、現在時刻から再スケジュールされます。
実行制限と有効期限
- タスク数の上限:最大 50 タスクまでです。上限に達した場合、新しいタスクを作成するには既存のタスクを削除する必要があります。
- 自動期限切れ:繰り返しタスクは作成後 7 日で自動的に期限切れとなりクリーンアップされます(単発タスクはトリガー後に削除されます)。
- ジッタスケジューリング:複数のセッションが同時に集中してトリガーされるのを防ぐため、スケジューラは決定論的なジッター遅延を追加します。繰り返しタスクは最大でその間隔の 10%(上限 15 分)遅延され、単発タスクは 30 分の境界に揃える際に最大 90 秒早くトリガーされます。ジッターはタスク ID に基づいて計算され、再起動を跨いでも安定しています。
- 逃したタスク:タスクの次回予定実行時刻が過去になっている場合(プロセスが実行されていない間に逃した場合)、起動時に通知されます。
- 単一プロセス駆動:同じプロジェクトディレクトリでは、ファイルロックによってスケジュールを駆動するプロセスが 1 つだけであることが保証され、重複トリガーを防ぎます。
作成と削除
- エージェントのスケジュールタスクツールを使用して、タスクの作成、一覧表示、削除を行います(会話内で自然言語でリクエストするだけです)。
/loopを使用すると繰り返しタスクをすばやく作成できます。詳細は Loop コマンドリファレンス を参照してください。- 繰り返しタスクは、7 日の自動期限切れ前に手動で削除できます。
次のステップ
- スケジュールタスクの使用ガイド:定期実行タスク。
- 繰り返し実行:Loop コマンドリファレンス。