From 8cdf38e709859b531659cd428b735dac5f814dce Mon Sep 17 00:00:00 2001 From: "openclaw-docs-sync[bot]" Date: Mon, 20 Apr 2026 18:24:05 +0000 Subject: [PATCH] chore(sync): mirror docs from openclaw/openclaw@4be6ff9d5f3e1a5788f6aea8ef253e7280b8b428 --- .openclaw-sync/source.json | 4 ++-- docs/automation/cron-jobs.md | 8 +++++++- docs/automation/tasks.md | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 173d12e8f..f10c2a53e 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "7aebac697ea7f8903fe6f16ba3ab4a5d2eb0b507", - "syncedAt": "2026-04-20T18:16:39.482Z" + "sha": "4be6ff9d5f3e1a5788f6aea8ef253e7280b8b428", + "syncedAt": "2026-04-20T18:24:05.072Z" } diff --git a/docs/automation/cron-jobs.md b/docs/automation/cron-jobs.md index 45c59006a..bf8caa127 100644 --- a/docs/automation/cron-jobs.md +++ b/docs/automation/cron-jobs.md @@ -33,7 +33,9 @@ openclaw cron runs --id ## How cron works - Cron runs **inside the Gateway** process (not inside the model). -- Jobs persist at `~/.openclaw/cron/jobs.json` so restarts do not lose schedules. +- Job definitions persist at `~/.openclaw/cron/jobs.json` so restarts do not lose schedules. +- Runtime execution state persists next to it in `~/.openclaw/cron/jobs-state.json`. If you track cron definitions in git, track `jobs.json` and gitignore `jobs-state.json`. +- After the split, older OpenClaw versions can read `jobs.json` but may treat jobs as fresh because runtime fields now live in `jobs-state.json`. - All cron executions create [background task](/automation/tasks) records. - One-shot jobs (`--at`) auto-delete after success by default. - Isolated cron runs best-effort close tracked browser tabs/processes for their `cron:` session when the run completes, so detached browser automation does not leave orphaned processes behind. @@ -368,6 +370,10 @@ Model override note: } ``` +The runtime state sidecar is derived from `cron.store`: a `.json` store such as +`~/clawd/cron/jobs.json` uses `~/clawd/cron/jobs-state.json`, while a store path +without a `.json` suffix appends `-state.json`. + Disable cron: `cron.enabled: false` or `OPENCLAW_SKIP_CRON=1`. **One-shot retry**: transient errors (rate limit, overload, network, server error) retry up to 3 times with exponential backoff. Permanent errors disable immediately. diff --git a/docs/automation/tasks.md b/docs/automation/tasks.md index 8b01365c5..186e24994 100644 --- a/docs/automation/tasks.md +++ b/docs/automation/tasks.md @@ -301,7 +301,7 @@ See [Task Flow](/automation/taskflow) for details. ### Tasks and cron -A cron job **definition** lives in `~/.openclaw/cron/jobs.json`. **Every** cron execution creates a task record — both main-session and isolated. Main-session cron tasks default to `silent` notify policy so they track without generating notifications. +A cron job **definition** lives in `~/.openclaw/cron/jobs.json`; runtime execution state lives beside it in `~/.openclaw/cron/jobs-state.json`. **Every** cron execution creates a task record — both main-session and isolated. Main-session cron tasks default to `silent` notify policy so they track without generating notifications. See [Cron Jobs](/automation/cron-jobs).