diagnose-scheduled-job-trigger-vs-execution-failure
用于排查“定时任务没执行”这类问题,并区分到底是未触发、已触发但执行失败,还是运行环境/授权失效导致的假象。遇到 cron 异常、任务未跑、自动任务失灵、网关重启后要验证恢复、怀疑是模型导致任务失败、需要查看日志作证、需要给出证据口径、要确认 `deactivated_workspace` / OAuth token 失效 / timeout 是否为根因时,都应触发本技能。也适用于“任务其实有 run 记录,但结果是 error”“想确认调度正常还是执行链路坏了”“修复授权后要做回归验证”等场景。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/can4hou6joeng4/diagnose-scheduled-job-trigger-vs-execution-failure诊断定时任务是“未触发”还是“执行失败”
帮助你用日志和运行记录证明 cron/定时任务的真实故障位置,避免把“调度正常但执行失败”误判为“任务根本没跑”。
When to use this skill
- 当你需要判断“定时任务没执行”到底是调度器没触发,还是任务已被拉起但在执行阶段失败。
- 当你要为事故结论提供证据,尤其是需要证明“不是模型本身导致没跑”,而是 workspace、授权、会话、token 或超时问题。
- 当你已经修复了授权、配置或网关,想验证系统是否真正恢复,而不是只看服务进程是否在线。
- 当用户描述为“cron 挂了”“自动任务最近都失效”“重启后想确认恢复”“日志里有
deactivated_workspace/oauth token invalid/ timeout”等情况。
Steps
-
先把问题拆成两条证据链:调度是否发生、执行是否成功。
先明确不要直接接受“任务没执行”的表述,而要分别查:- 网关/调度日志里是否有 cron 触发痕迹
- 任务注册信息、最近运行时间、运行状态、错误码
这样做的原因是:很多故障并不是“没调度”,而是“调度正常但执行失败”,两者结论完全不同。
-
列出当前系统中的定时任务,并核对最近一次运行记录。
重点抓每个任务的:- 任务名
- 最近运行时间
- 状态:
ok/error - 错误详情
本次排查中,确认系统里有 9 个 cron 任务,且多个任务都带有明确的最近运行时间与错误状态,例如: obsidian-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: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次
这样做的原因是:这组证据足以支撑“调度器在跑,任务也被拉起了,但执行时失败”。
- 最近运行:
-
继续向前翻运行历史,判断是长期配置问题还是近期退化。
本次实际核对到:- Discord 日整理:
3/05、3/06、3/07、3/08、3/09、3/10都有ok - 掘金签到:
3/05到3/11多日都有ok - Seedpool 日报:
3/09、3/10、3/11都有ok
这样做的原因是:如果同一批任务前几天长期正常,就更像“最近运行环境或授权状态变了”,而不是 cron 从一开始就没配好。
- Discord 日整理:
-
汇总错误类型,不要只盯一个模型或一次失败。
本次实际观察到三类错误:deactivated_workspaceEncountered invalidated oauth token for user, failing requestError: cron: job execution timed out
这样做的原因是:如果错误集中在 workspace、OAuth、超时层,而不是输出内容异常,就应把排查重点放在运行环境、鉴权和会话,而不是先怪模型能力。
-
核对历史 runs 用过的模型/供应商,避免把“碰巧用了某模型”误当根因。
本次实际看到历史上跑过多个模型/供应商:openai-codex / gpt-5.3-codexopenai-codex / gpt-5.4aigocode / claude-sonnet-4-6aigocode / claude-opus-4-6minimax-portal / MiniMax-M2.5
这样做的原因是:如果多个供应商和模型都跑过,而最近主错误仍然统一是deactivated_workspace,那更像共享执行环境失活,而不是某个模型“把任务搞没了”。
-
先给出保守结论:能证明异常存在,但不能越过证据下结论。
在未拿到更多上下文前,本次形成的正确表述是:定时任务并非未触发,而是在最近几次调度中于执行阶段集中失败;主要错误为
deactivated_workspace,另有 OAuth token 失效与超时情况。现有日志不足以证明是模型能力本身导致,更像是 workspace / 会话 / 鉴权层异常影响了任务执行。
这样做的原因是:事故表述需要和证据严格对齐,先区分“可证实”和“待确认”。
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-can4hou6joeng4-diagnose-scheduled-job-trigger-vs-execution-failure": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
diagnose-openclaw-model-routing-and-fallback-usage
用于分析 OpenClaw 中“某个 provider/模型为什么看起来没被用上”、主模型与 fallback 实际是否生效、以及 ClaudeCodeCLI 协作任务为何中断。遇到这些情况就应触发:用户提到“没请求打到 local-router”“明明注册了模型却没流量”“Agent 到底在用哪个模型”“fallback 有没有发生”“为什么日志里看不到候选切换”“code 143 / SIGTERM / Exec failed”“需要结合当前配置和日志做严谨归因”。也适用于区分“provider 被调用”与“provider 下某个特定模型被调用”这两类常见混淆。
configure-openclaw-anyrouter-model-and-fix-baseurl
用于在 OpenClaw 中新增或覆盖 anyrouter 模型配置、把小肠 Agent 默认模型切到 `anyrouter/claude-opus-4-6`,并结合运行日志判断是不是 `baseUrl`、网关兼容、鉴权或协议端点导致不可用。遇到“把某个供应商模型写进 openclaw.json”“切换默认模型”“为什么配置生效了但实际没调用上”“查看 fallback 日志”“排查 403/500/invalid claude code request”“同步 ClaudeCode 配置”这类需求时,就应启用本技能;即使用户没明确说 OpenClaw,只要描述的是本地 Agent 模型路由切换与调用异常排查,也适用。
discord-thread-naming-backstop-workflow
用于执行 Discord 线程命名兜底(backstop)巡检与改名,专门处理某个 guild 下指定 parent channel 中“最近新建但未命名规范”的线程,补上 prehook 漏网,而不是批量回扫历史。遇到“线程重命名兜底”“dispatch 线程命名规范”“只检查最近 20 分钟线程”“JSON 污染标题”“长标题截断”“按规则静默改名或告警”“Discord thread-list / channel-edit / channel-info 重试与一致性检查”等场景时就应触发。即使用户没说 backstop,只要意图是低扰动修正新线程标题,也应使用此技能。
debug-prompt-driven-cron-agent-zero-output
用于排查“定时任务成功执行但结果全为 0 / 未检索到样本 / 明明有数据却日报为空”这类问题,尤其适合 Discord、Obsidian、cron、agentTurn、prompt 驱动任务、日整理、复盘脚本、采样漏扫、thread starter 漏计、主频道消息未纳入、Snowflake 字符串比较、时区时间窗边界等场景。只要用户提到“任务跑通了但产物为空”“怀疑不是分类错而是采样漏了”“想确认 prompt job 是否没有固定源码”“想定位检索链路断点”,就应触发此技能。