Automation 导读

自动小闹钟 troubleshooting:它会在什么时候自己动起来

自动小闹钟 troubleshooting 讲的不是“自动”两个字有多神,而是它什么时候会自己醒来、醒来后会留下什么脚印、又和 cron、heartbeat、tasks 这些近亲怎么分工。原文最响的一记鼓点,其实是:This page moved to Scheduled Tasks. See Scheduled Tasks for troubleshooting documentati…。

先讲这一页到底在解决什么

自动小闹钟 troubleshooting:它会在什么时候自己动起来

自动小闹钟 troubleshooting 讲的不是“自动”两个字有多神,而是它什么时候会自己醒来、醒来后会留下什么脚印、又和 cron、heartbeat、tasks 这些近亲怎么分工。原文最响的一记鼓点,其实是:This page moved to Scheduled Tasks. See Scheduled Tasks for troubleshooting documentati…。

原文共 2 节,先看 Start Here 路径:/automation/troubleshooting 查看官方原文

第一步

🪜 Command ladder 像体检顺序,不要乱跳

官方第一组命令就是“先摸脉,再听诊”。

openclaw status

像先看整个人是不是还站着。

openclaw gateway status

像再看心脏是不是在跳。

openclaw logs --follow

像把听诊器贴上去,听它现在到底在咳什么。

openclaw doctor

像请总医生做系统性体检。

Cron 问题

⏰ “没响” 和 “响了但没送到” 是两种完全不同的病

这页最有价值的地方,就是帮你把这两种病拆开看。

🔕

Cron not firing

像闹钟本身没响。先查 cron.enabled、nextWakeAt、job 是否 due。

📭

Fired but no delivery

像闹钟响了,老师也干活了,但邮差没把结果送出去。

🧭

检查重点

前者先看调度器,后者先看 delivery mode、channel、to、通道连通状态。

🎈

一句话

先分清是“没跑”还是“跑了没送”。

Heartbeat 问题

💓 Heartbeat 被压下去,不一定是坏了,可能只是“此刻不该叫”

这页把很多看似奇怪的 skip reason 翻得很清楚。

quiet-hours

像巡逻员看了值班时间表,发现现在本来就不该巡。

requests-in-flight

像主车道正忙,巡逻员先在边上等一下。

empty-heartbeat-file

像巡逻清单上根本没写要做什么,自然不会硬跑一趟。

alerts-disabled

像巡逻其实做了,只是你把对外播报喇叭关掉了。

时区问题

🌍 很多“它怎么在半夜跑了”的锅,最后都落在时区上

官方最后一段特别重要,因为自动化最爱在这里悄悄出错。

Cron 没写 --tz 时,默认跟主机走;heartbeat 的 activeHours 又可能跟 userTimezone 或显式 IANA 时区走。所以“看起来差不多”的时间,其实可能根本不是一块表。

最后总结

🎈 把自动化排障页压成一句最好记的话

排自动化故障时,先按体检顺序看状态和日志,再分清是“没跑”、“跑了没送”,还是“时区和 quiet hours 让它本来就不该跑”。