展开知识库目录
定时任务怎样设置输入、失败通知、重试和停止条件
输入晚到、重复执行、部分成功、凭证过期和通知失败都很常见。
定时任务先设计失败,而不是先设计频率
输入晚到、重复执行、部分成功、凭证过期和通知失败都很常见。任务需要幂等、锁、超时、重试上限、告警和人工停止方式。
输入和触发
定义时间、时区、节假日、数据就绪条件和补跑方式,避免仅靠整点假设。
把涉及的文件、目录、版本、命令和实际输出写进记录;代码变化同时保留 diff 与测试结果。
幂等与并发
使用批次 ID、唯一键或状态表,重复触发不重复发送、扣费或覆盖。
确认“幂等与并发”已经有可回查结果,再进入“超时与重试”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
超时与重试
区分可重试瞬时错误和永久错误,设置退避、最大次数与死信或待处理区。
确认“超时与重试”已经有可回查结果,再进入“通知与观测”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
通知与观测
日志含任务、批次、开始结束、输入输出和错误层;失败通知有独立通道和负责人。
确认“通知与观测”已经有可回查结果,再进入“停止与恢复”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
停止与恢复
提供禁用开关、清理部分结果、从检查点恢复和人工批准路径,先做故障演练。
需要修改时先限定文件和行为范围,无法说明回滚方式或影响面的动作先不执行。 完成后把证据归入“调度契约与失败演练记录”。
完成后应能在“调度契约与失败演练记录”中找到与这一步对应的记录;仍需靠猜测补全,就停在这里。
调度契约应覆盖一次失败演练
主动制造输入缺失、超时和重复触发,确认不会重复产生副作用,告警到达且能恢复。只跑通一次成功不够。
