作者: 码虫 🐛 (coding-advisor) 版本: v1.1 创建: 2026-06-14 更新: 2026-06-14 19:57 — 频次从 8:30 单次升级为每 30 分钟一次(老板嫌少) 来源: 老板选 B(写轻量 watcher 兜底)
2026-06-12 周五 19:30 码虫日报 cron 失败 → 沉默 2 天 才被发现(ERR-20260614-001)
overloaded(首跑 188s)update_goal fail(重试 65s, 平台层 bug)failureAlert 投递也失败 → 老板完全不知道ba67d0ff(日报监控-每30分)仍存在openclaw cron get ba67d0ff → cron job not found完全独立的应用层兜底,不依赖 OpenClaw 平台告警:
检查项说明Cron statusopenclaw cron get 查 lastRunStatus / lastDelivered / consecutiveErrors日报文件检查 memory/daily-reports/YYYY-MM-DD.md 是否存在时间窗口只检查过去 36h 内的失败(避免旧错误持续告警)静默期告警后 4 小时内不重复(避免轰炸)周末感知周末检查最近一个工作日
设计为 cron 任务, 每 30 分钟一次(24h 不间断):
33fd7b32-4f1c-46fe-b102-0b29143bc37bevery 30mpython3 .../watcher.py(纯命令,不需 LLM)bash
# 正常运行(按需告警)
python3 skills/daily-report-watcher/watcher.py
# 试运行(不真发告警)
python3 skills/daily-report-watcher/watcher.py --dry-run
# 只检查,exit code 反映结果
python3 skills/daily-report-watcher/watcher.py --check-only
# exit 0 = 正常, 1 = 异常, 2 = 检查出错
text
[2026-06-14 19:44:30] daily-report-watcher 启动
昨天日期: 2026-06-13 (周末)
最近工作日: 2026-06-12
上次状态: ok (consecutive: 0)
上次运行: 2026-06-12 19:35:58
上次送达: True
检查文件: .../2026-06-12.md → 存在
[OK] 日报状态正常
text
[2026-06-15 08:30:00] daily-report-watcher 启动
...
上次状态: error (consecutive: 1)
检查文件: .../2026-06-12.md → ❌ 缺失
[ALERT] 发现异常: 日报任务 status=error + 日报 markdown 文件缺失
[SEND] 发送飞书告警...
[OK] 告警已发送
text
🚨 码虫日报异常:日报任务 status=error, delivered=False + 日报 markdown 文件缺失
━━━━━━━━━━━━━━━━━━━━
📅 检查时间:2026-06-15 08:30:00
📂 目标日报:2026-06-12
🔴 异常原因:...
📊 Cron 状态:...
🔍 诊断信息:...
📁 文件路径:...
🛠 建议处理:
1. ...
━━━━━━━━━━━━━━━━━━━━
🔧 手动处理:检查 memory/daily-reports/ 是否缺失文件,按需补发
RULE-20260614-001(候选 HOT):cron 失败 → 立即写文件兜底 + 不打扰老板原则
LESSON-20260614-001(已写入 ERR-20260614-001):
bash
# 测试 1:dry-run 看是否会告警
python3 skills/daily-report-watcher/watcher.py --dry-run
# 测试 2:check-only 拿到 exit code
python3 skills/daily-report-watcher/watcher.py --check-only
echo $?
# 测试 3:cron run force
openclaw cron run 33fd7b32-4f1c-46fe-b102-0b29143bc37b --wait
openclaw CLI(系统命令)requests(pip 已装)scripts/feishu_post.py(复用飞书发送器)~/.openclaw/openclaw.json(飞书凭证)🤖 码虫 🐛 | 用代码解放双手 | 2026-06-14