reyn cron¶
cron スケジュール駆動のスキル実行を管理します(FP-0009 Component B)。ジョブは reyn.yaml の cron.jobs に宣言し、スケジューラーは各有効ジョブを cron 式のタイミングで reyn run と同じヘッドレス Agent.run パスで実行します。
概要¶
説明¶
reyn cron は時刻トリガーによるスキル実行を管理します。オペレーターは reyn.yaml にジョブを宣言し、reyn cron run はフォアグラウンドでスケジューラーを起動して各有効ジョブを設定されたインターバルで実行します。reyn cron list と reyn cron status はスケジューラーを起動せずにジョブ一覧を確認するためのコマンドです。
サブコマンド¶
run¶
cron スケジューラーをフォアグラウンドで起動します。Ctrl-C を押すまでブロックします。
動作:
reyn.yamlのcron.jobsを読み込みます。- 各有効ジョブについて、cron 式から次回実行時刻を計算します。
- 有効ジョブの一覧と次回実行時刻を含む起動バナーを表示します。
- 各ジョブを独立した asyncio タスクで実行します。タスクは次回実行時刻までスリープし、時刻になったら
Agent.runでスキルを実行します。 - Ctrl-C 時は実行中ジョブの完了を最大 5 秒待ってからクリーンに終了します。
例:
$ reyn cron run
Started cron scheduler with 2 enabled job(s):
• index_events_hourly (0 */6 * * *) next: 2026-05-16T18:00:00+00:00
• weekly_ops_report (0 9 * * MON) next: 2026-05-19T09:00:00+00:00
^C
Cron scheduler stopped.
Exit codes:
| コード | 意味 |
|---|---|
0 |
スケジューラーが正常停止(Ctrl-C またはジョブ未設定)。 |
1 |
起動中に致命的エラー(例: reyn.yaml のパース失敗)。 |
list¶
設定されている全 cron ジョブと次回実行予定時刻を表示します。スケジューラーは起動しません。
出力形式:
NAME SKILL SCHEDULE ENABLED NEXT RUN
index_events_hourly index_events 0 */6 * * * true 2026-05-16T18:00:00+00:00
weekly_ops_report ops_report 0 9 * * MON true 2026-05-19T09:00:00+00:00
ジョブが設定されていない場合:
Exit codes:
| コード | 意味 |
|---|---|
0 |
常に(テーブルが空の場合も含む)。 |
status¶
reyn cron list と同様ですが、LAST RUN AT・LAST STATUS・LAST ERROR の最終実行情報も表示します。
v1 制限: 最終実行状態はメモリ内にのみ保持されます。スタンドアロンで(= 実行中の
reyn cron runセッションの外で)呼び出した場合、last_run_*フィールドはすべて-と表示されます。将来の Web モード API(/a2a/agents/cron/status)では稼働中スケジューラーの状態を照会できるようになる予定です。
出力形式(スタンドアロンモード):
NAME SKILL SCHEDULE ENABLED NEXT RUN LAST RUN AT LAST STATUS LAST ERROR
index_events_hourly index_events 0 */6 * * * true 2026-05-16T18:00:00+00:00 - - -
weekly_ops_report ops_report 0 9 * * MON true 2026-05-19T09:00:00+00:00 - - -
Exit codes:
| コード | 意味 |
|---|---|
0 |
常に(テーブルが空の場合も含む)。 |
設定¶
ジョブは reyn.yaml の cron.jobs に宣言します。各エントリがスケジュールされたスキル実行 1 件に対応します。
cron:
jobs:
- name: index_events_hourly
skill: index_events
schedule: "0 */6 * * *"
input: {}
enabled: true
- name: weekly_ops_report
skill: ops_report
schedule: "0 9 * * MON"
input:
report_period: weekly
enabled: true
| フィールド | 必須 | 説明 |
|---|---|---|
name |
はい | ジョブの一意な識別子。ログメッセージや(将来の)ステータス照会で使用されます。 |
skill |
はい | 実行するスキル名。標準のスキル検索順(reyn/project/ → reyn/local/ → stdlib)で解決されます。 |
schedule |
はい | 5 フィールドの cron 式(分 時 日 月 曜日)。 |
input |
いいえ | Agent.run(skill, input) に渡す初期入力アーティファクト。デフォルトは {}。 |
enabled |
いいえ | false にするとエントリを削除せずに無効化できます。デフォルトは true。 |
完全なスキーマについては Reference: reyn.yaml を参照してください。
cron 式の構文¶
式は標準の 5 フィールド形式に従います:
┌──────────── 分 (0-59)
│ ┌────────── 時 (0-23)
│ │ ┌──────── 日 (1-31)
│ │ │ ┌────── 月 (1-12 または JAN-DEC)
│ │ │ │ ┌──── 曜日 (0-7 または SUN-SAT; 0 と 7 は日曜日)
│ │ │ │ │
* * * * *
よく使う例:
| 式 | 意味 |
|---|---|
0 * * * * |
毎時 0 分 |
0 */6 * * * |
6 時間ごと |
0 9 * * MON |
毎週月曜 09:00 UTC |
30 4 1 * * |
毎月 1 日 04:30 UTC |
時刻はすべて UTC です。スケジューラーは式の解析に croniter を使用します。
関連情報¶
- Reference:
reyn.yaml—cron:設定ブロック - コンセプト: Operational Intelligence — スケジュール実行のユースケース
- コンセプト: A2A プロトコル —
RunRegistryパターンと将来の Web モードステータス API - Reference:
reyn run— ヘッドレス単発スキル実行(同じ Agent.run パス)