概要
スケジュールタスクを使用すると、Qoder CLI が指定された時間にプロンプトまたはスラッシュコマンドを自動的に実行します。タスクは未来の特定の時点で 1 回だけ実行するようにスケジュールすることも、カレンダースケジュールに従って定期的に繰り返し実行するように設定することもできます。定期点検、定期レポート、スケジュールに基づく自動化などのシナリオに適しています。
スケジュールタスクには次の 2 種類があります。
- 単発タスク(one-shot):次に一致する時間に 1 回だけトリガーされ、その後自動的に削除されます。
- 定期タスク(recurring):削除されるか自動的に期限切れになるまで、Cron スケジュールに従って繰り返しトリガーされます。
スケジュールタスクの作成
インタラクティブセッションで、時間と実行する内容を自然言語で記述すると、Qoder がスケジュールタスクを作成します。例:
/loop を使用します。詳細はタスクの繰り返し実行を参照してください。
Cron 式
スケジュールタスクでは 5 フィールドの Cron 式を使用します。
*、単一値 N、ステップ */N、範囲 N-M、リスト N,M,...。曜日フィールドでは 7 は日曜日(0 と同等)として扱われます。
L、W、?、名前エイリアス(MON など)はサポートされておらず、秒レベルのフィールドも含まれません。
例:
| Cron | 意味 |
|---|---|
*/5 * * * * | 5 分ごと |
0 * * * * | 毎時 0 分 |
0 9 * * * | 毎日午前 9:00 |
30 14 28 2 * | 2 月 28 日午後 2:30(その年に 1 回) |
0 10 * * 1 | 毎週月曜日午前 10:00 |
0 9 * * 1-5 | 平日午前 9:00 |
すべての時間は、CLI を実行するローカルタイムゾーンに基づいて解釈されます。例えば、0 9 * * * は CLI が実行されているタイムゾーンにおける毎日 9 時を意味します。
保存場所と永続化
スケジュールタスクの永続化の動作には次の 2 種類があります。
- 永続化タスク:プロジェクトルートディレクトリの
<project>/.qoder/scheduled_tasks.jsonに書き込まれ、プロセス再起動後も保持されます。 - セッション内タスク:メモリ内にのみ保存され、現在のセッション終了時に消去されます。
実行の制限
スケジュールタスクには以下の制限があります。
- タスク数の上限:最大 50 タスク。上限に達した場合、新しいタスクを作成するには既存のタスクを削除する必要があります。
- 定期タスクの自動期限切れ:定期タスクは、それより前に削除されない限り、作成から 7 日後に自動的に期限切れになります。長期実行が必要なタスクは再作成する必要があります。
- 最小粒度:秒レベルのフィールドを含まないため、最小スケジュール粒度は 1 分です。
- 単一プロセス駆動:同じプロジェクトディレクトリでは、ファイルロックによってスケジュールを駆動するプロセスが 1 つだけであることが保証され、重複トリガーが防止されます。