Install
openclaw skills install diagnose-scheduled-job-trigger-vs-execution-failure用于排查“定时任务没执行”这类问题,并区分到底是未触发、已触发但执行失败,还是运行环境/授权失效导致的假象。遇到 cron 异常、任务未跑、自动任务失灵、网关重启后要验证恢复、怀疑是模型导致任务失败、需要查看日志作证、需要给出证据口径、要确认 `deactivated_workspace` / OAuth token 失效 / timeout 是否为根因时,都应触发本技能。也适用于“任务其实有 run 记录,但结果是 error”“想确认调度正常还是执行链路坏了”“修复授权后要做回归验证”等场景。
openclaw skills install diagnose-scheduled-job-trigger-vs-execution-failure帮助你用日志和运行记录证明 cron/定时任务的真实故障位置,避免把“调度正常但执行失败”误判为“任务根本没跑”。
deactivated_workspace / oauth token invalid / timeout”等情况。先把问题拆成两条证据链:调度是否发生、执行是否成功。
先明确不要直接接受“任务没执行”的表述,而要分别查:
列出当前系统中的定时任务,并核对最近一次运行记录。
重点抓每个任务的:
ok / errorobsidian-discord-guild-daily-review-finaljuejin-daily-checkin-lotteryseedpool-daily-auto-publishdispatch-thread-rename-backstop用“最近运行时间 + error 状态”证明任务其实被触发过。
本次实际查到的关键证据是:
obsidian-discord-guild-daily-review-final
2026-03-12 05:00error{"detail":{"code":"deactivated_workspace"}}juejin-daily-checkin-lottery
2026-03-12 09:10error{"detail":{"code":"deactivated_workspace"}}seedpool-daily-auto-publish
2026-03-12 09:30error{"detail":{"code":"deactivated_workspace"}}dispatch-thread-rename-backstop
2026-03-12 23:30 左右error{"detail":{"code":"deactivated_workspace"}}9 次继续向前翻运行历史,判断是长期配置问题还是近期退化。
本次实际核对到:
3/05、3/06、3/07、3/08、3/09、3/10 都有 ok3/05 到 3/11 多日都有 ok3/09、3/10、3/11 都有 ok汇总错误类型,不要只盯一个模型或一次失败。
本次实际观察到三类错误:
deactivated_workspaceEncountered invalidated oauth token for user, failing requestError: cron: job execution timed out核对历史 runs 用过的模型/供应商,避免把“碰巧用了某模型”误当根因。
本次实际看到历史上跑过多个模型/供应商:
openai-codex / gpt-5.3-codexopenai-codex / gpt-5.4aigocode / claude-sonnet-4-6aigocode / claude-opus-4-6minimax-portal / MiniMax-M2.5deactivated_workspace,那更像共享执行环境失活,而不是某个模型“把任务搞没了”。先给出保守结论:能证明异常存在,但不能越过证据下结论。
在未拿到更多上下文前,本次形成的正确表述是:
定时任务并非未触发,而是在最近几次调度中于执行阶段集中失败;主要错误为
deactivated_workspace,另有 OAuth token 失效与超时情况。现有日志不足以证明是模型能力本身导致,更像是 workspace / 会话 / 鉴权层异常影响了任务执行。
这样做的原因是:事故表述需要和证据严格对齐,先区分“可证实”和“待确认”。
如果用户补充了业务背景,把日志证据与背景信息闭环。
本次用户补充了关键事实:
Codex team 被踢出deactivated_workspaceopenclaw.json由于此前 Codex team 被踢出,相关 workspace 失活,导致 cron 任务虽被调度但在执行阶段报
deactivated_workspace并失败。
这样做的原因是:日志通常证明“现象和直接错误”,而补充背景有时才能把因果链真正闭合。
修复后先做“链路验证”,不要只看网关进程在线。
本次恢复验证按三步执行:
deactivated_workspace2~3 个代表任务选轻任务、内容任务、复杂任务各一个做回归。
本次实际选了:
juejin-daily-checkin-lotteryseedpool-daily-auto-publishobsidian-discord-guild-daily-review-final先确认任务是否成功入队,再确认是否真正进入执行。
本次回归时先确认:
auto-recall / agent_end 痕迹对轻任务和内容任务,用最终状态和交付结果证明已恢复。
本次实际验证到:
juejin-daily-checkin-lottery
okseedpool-daily-auto-publish
okdelivered = truedeliveryStatus = delivereddeactivated_workspace。对复杂任务,单独验证“被拉起”与“最终落盘/产出”两个层次。
本次复杂任务的现状是:
cron:c6e92d09-...auto-recallcron.runs 里还没有新的 finished 结果01-Daily/2026-03-12.md00-Inbox/Daily Sync Digest - 2026-03-12.md把恢复结论分级,不要二元化成“好了/没好”。
本次最终结论是:
当前系统已从“全线失效”恢复到“部分恢复且核心链路可用”状态。
更细分为:
给出下一步操作建议:继续盯复杂任务或补跑下一轮。
本次建议是:
5~10 分钟,看最终结果01-Daily/2026-03-12.md00-Inbox/Daily Sync Digest - 2026-03-12.md
则可把结论升级为“主任务链路已恢复正常”❌ 直接把“任务没执行”当成“cron 没触发”
→ 只看表象会把执行失败误判成调度失败
✅ 同时核对“最近运行时间”和“最终状态”;只要有 run 时间,就优先判断为“已触发过,再看为何失败”
❌ 看到最近失败发生在某个模型上,就断言是模型导致
→ 同一批任务历史上可能跑过多个模型/供应商,且共享错误可能来自 workspace 或鉴权层
✅ 先看错误码是否统一,如 deactivated_workspace、oauth token invalid、timeout;若错误集中在运行环境层,就不要把锅直接甩给模型能力
❌ 只看最近一次失败,不查历史成功记录
→ 你会错失“这是近期退化而不是长期配置错误”的关键证据
✅ 向前翻多天 runs,确认任务此前是否长期 ok
❌ 修复后只看“网关已重启 / 服务在线”就宣布恢复
→ 进程在线不等于 cron、执行链路、投递链路都恢复
✅ 至少手动回归一个轻任务、一个内容任务、一个复杂任务,并查看 run 结果与实际产出
❌ 复杂任务一旦被拉起,就判定“完全恢复”
→ 复杂任务可能中途卡住、未落盘、未投递
✅ 把“已启动执行”和“最终完成落盘/交付”分开验证
❌ 在证据不足时写“模型导致定时任务都没执行”
→ 这个说法混淆了未触发与执行失败,也可能超出证据范围
✅ 先用更严谨口径:
“任务并非未触发,而是在执行阶段失败;主要错误为 deactivated_workspace,更像 workspace / 授权 / 会话层异常。”
经核查,当前异常并非“定时任务没有被调度”,而是“任务已按计划触发,但在执行阶段失败”。多个任务最近一次运行均记录为 error,主要错误码为 `deactivated_workspace`,另有 `invalidated oauth token` 与执行超时。历史 runs 显示这些任务在前几天长期正常,因此更接近近期运行环境/工作区状态异常,而非 cron 调度器失效。现有证据不足以直接证明是模型本身导致任务不执行。
经核查,异常并非 cron 未触发,而是任务触发后在执行阶段失败。主要报错为 `deactivated_workspace`。结合后续排查结果,可确认该错误与此前 Codex team 被踢出、导致 workspace 授权/可用性失效有关,而非单纯调度器失灵。现已重新授权、更新 `openclaw.json` 并重启网关。
当前系统已从“全线失效”恢复到“部分恢复且核心链路可用”状态。
- cron 调度入口:已恢复
- 模型执行链路:已恢复
- 至少 2 个代表任务:已实跑成功
- 复杂任务:已能启动执行,但尚未完成验证
这说明系统已明显恢复,不再是此前那种因 workspace 失活导致的全面执行失败;但复杂型任务还需要继续观察 1 轮,才能确认完全恢复。
obsidian-discord-guild-daily-review-final
- 最近运行:2026-03-12 05:00
- 状态:error
- 错误:{"detail":{"code":"deactivated_workspace"}}
juejin-daily-checkin-lottery
- 最近运行:2026-03-12 09:10
- 状态:error
- 错误:{"detail":{"code":"deactivated_workspace"}}
seedpool-daily-auto-publish
- 最近运行:2026-03-12 09:30
- 状态:error
- 错误:{"detail":{"code":"deactivated_workspace"}}
dispatch-thread-rename-backstop
- 最近运行:2026-03-12 23:30 左右
- 状态:error
- 错误:{"detail":{"code":"deactivated_workspace"}}
- 连续错误:9 次
juejin-daily-checkin-lottery
- 新 run 已创建
- 执行状态:ok
seedpool-daily-auto-publish
- 新 run 时间:今天 10:11 后
- 执行状态:ok
- delivered = true
- deliveryStatus = delivered
obsidian-discord-guild-daily-review-final
- 日志中已出现:
- cron:c6e92d09-...
- auto-recall
- 新 session 已创建
- 但截至核验时仍未见 finished 落盘结果
01-Daily/2026-03-12.md
00-Inbox/Daily Sync Digest - 2026-03-12.md
cron.runs 或等价运行历史ok / error)auto-recall / agent_end 等执行痕迹的权限openclaw.jsondeactivated_workspaceEncountered invalidated oauth token for user, failing requestError: cron: job execution timed out