Skip to content

自动化监控、重试、幂等与停用 ​

本章目标 ​

让自动化任务“每次运行发生了什么”可以被看见、被判断、被停止。调度成功不等于业务成功;真正的验收还要知道输入版本、执行步骤、输出位置、是否重复、失败原因和人工接管人。

适用场景与前置条件 ​

适用于日报、周报、资料整理、周期性检查和已经通过手动试跑的工作流。开始前明确触发时间和时区、输入来源、输出位置、责任人、最大运行时长、失败通知渠道,以及哪些动作绝不能自动重试。

最小可观测记录 ​

每次运行至少保留一条可关联的记录:

字段说明
运行标识能把触发、步骤、错误和产物串起来
触发信息手动、定时或事件;实际时间和时区
输入摘要来源、数量、版本或时间范围,不复制敏感正文
执行状态排队、运行、成功、部分成功、失败、已停用
输出摘要产物位置、数量、校验结果和是否待人工确认
失败信息错误原文、失败步骤、重试次数和最后一次时间
接管信息谁确认、谁停用、谁决定恢复或回退

如果当前产品没有同名字段,就用可导出的任务记录、产物清单或组织批准的日志替代;不要凭空声称产品提供某种审计字段。

先设计状态,再设置定时 ​

推荐使用简单状态机:待运行 → 运行中 → 待确认/成功/失败 → 已停用。运行中超过合理时限,进入超时或人工接管;失败后不能直接回到运行中。每一次状态变化都要有时间、原因和责任人,避免只留下“最后一次成功”的模糊结论。

幂等:重复运行也不扩大影响 ​

在任务卡中定义“同一批输入”的判定方式,例如日期、来源版本、文件哈希或业务流水号。正式写入前检查是否已有同一标识的产物;输出使用明确版本或临时文件;发送、创建、扣费和删除等动作必须有重复保护。无法确认上一次是否成功时,不要直接重试有副作用的步骤。

重试策略 ​

把失败分成三类:

  1. 可暂时恢复: 网络抖动、短暂超时或服务暂不可用,可在次数和时间窗口内退避重试。
  2. 输入或权限问题: 文件不存在、字段变化、账号过期或权限不足,应停止并通知,不应连续重试。
  3. 副作用不确定: 请求可能已经写入或发送,但响应丢失,应先查询结果或人工核对,再决定是否补偿。

每次重试记录原因和次数;达到上限后进入失败或停用,不要无限循环。恢复后用同一组验收用例检查“有没有漏、有没有重复、有没有越权”。

分步落地 ​

1. 先手动跑通 ​

用脱敏输入完成一次完整流程,记录输入、步骤、产物和人工确认点。没有稳定的手动结果,不进入定时执行。

2. 加入运行记录 ​

给任务设置可读名称和运行标识,保存状态、错误、产物和责任人。日志只保留诊断所需的最小数据,不把凭证和完整敏感正文写进去。

3. 设置重试和超时门槛 ​

为每类错误规定最大次数、退避时间和通知对象。对写入、发送、发布、删除和未知状态禁止自动重试,先查结果或转人工。

4. 设计停用和降级 ​

准备一个明确的停用动作,并写清由谁执行、影响哪些后续运行、如何恢复。自动化异常时可以降级为只读扫描、草稿输出或人工清单,不要为了保持“运行成功”而绕过门禁。

5. 用多次运行验收 ​

至少观察一组成功、空输入、权限失效、超时和重复触发场景。核对状态、通知、产物、重复保护、成本和回退;连续偏差时停用任务。

验收标准 ​

  • 每次运行都能找到触发、输入、状态、输出和责任人;
  • 可恢复错误有次数上限,不可恢复错误不会被无限重试;
  • 同一输入重复触发不会产生重复文件、消息或外部记录;
  • 运行异常时能快速停用,并保留未完成任务和原始输入;
  • 结果先进入草稿或待确认状态,写入和外发有人工门禁;
  • 任务恢复后可以用固定用例证明没有漏处理、重复处理或越权处理。

常见失败与停止条件 ​

  • 只有“成功/失败”没有上下文: 补运行标识、输入摘要和步骤,不凭最后状态判断业务结果。
  • 失败后自动重复发消息: 立即停用外发步骤,先在目标系统核对落地状态。
  • 输入字段变更: 将运行置为失败或待确认,更新映射并重新试跑,不让模型猜字段含义。
  • 日志含有 Token 或敏感正文: 立即限制访问、轮换凭证并清理传播范围,保留事件时间线。
  • 任务连续偏差或影响范围扩大: 停用定时,回退到草稿/人工流程,通知业务和管理员。

常见问题 ​

有日志就等于完成审计吗? 不等于。还要确认日志完整性、访问权限、保留期限、责任人和是否能关联到实际产物。

所有失败都重试三次可以吗? 不可以。读取失败与写入状态不确定的风险不同,重试策略必须按副作用分类。

自动化长期没有失败还需要监控吗? 需要。输入、权限、版本、时区和外部服务都会变化,至少保留抽样验收和停用通道。

安全与权限边界 ​

  • 运行记录按业务敏感级别授权查看;
  • 不把完整客户资料、密钥、Cookie 和内部地址写进日志;
  • 任何批量写入、外发、删除、跨组织读取或高成本调用都要单独审批;
  • 任务负责人、技术维护人、数据负责人和停用人可以不同,但必须明确;
  • 当前产品是否支持定时、通知、运行日志和连接器,以版本、租户策略和实际权限为准。

相关内容 ​

来源引用 ​

内容版本与核对日期 ​

  • 内容版本:0.1.0
  • 最后核对日期:2026-09-26
  • 适用版本状态:触发器、定时、通知、日志和连接器以当前产品版本、企业策略和实际权限为准。
  • 来源提交版本:6b5e2403f0f2ad5d3f7ab7a67e9c4d4113583ff3

章节导航 ​