周期任务重复生成,先要分清是同一周期被多次触发,还是同一任务被多个规则或模板重复创建。处置时先冻结可疑来源、保留现场,再核对周期规则、触发条件、模板与自动创建入口,确认重复范围后清理多余任务,最后用一轮完整周期验证并补上防复发约束。
要点总览(TL;DR)
- 先冻结可疑的周期规则或自动创建入口并保留现场,再动手改配置,避免重复来源被覆盖后无法判断。
- 把重复现象按时间分布、重复对象、影响范围和时间点记录下来,用规则列表、任务来源字段、执行日志和操作记录逐条验证四类原因假设。
- 处置按止血、留证、清理、修正推进:每组重复任务保留一条主任务并注明归属周期,修正后先小范围试运行。
- 验证至少覆盖一个完整周期,跨周、跨月、跨季规则要覆盖边界日期,确认下一周期只生成一条任务。
- 用规则统一命名、模板套用前查重、自动创建入口收敛和每月抽查生成数量,防止重复再次发生。
先确认重复的范围和表现
发现重复任务后,先不要改规则。此时规则仍在运行,改动会让现场消失,后续难以判断重复是规则触发造成的,还是多入口创建造成的。更稳妥的做法是先花十几分钟把现象记录下来,形成一份可核对的重复现象记录。
记录从三个维度展开。第一个维度是时间分布:重复任务集中在同一周期内,还是跨周期叠加,比如本周任务和上周未完成任务同时出现;是否存在历史任务被重新拉起的情况。第二个维度是重复对象:只是任务标题相同,还是负责人、截止时间、子任务、附件也一并重复。标题重复而内容不同,往往指向模板套用或手动复制;整条任务连同子任务完全一致,更可能是同一规则被多次触发。第三个维度是影响范围:重复只出现在某一条周期规则、某一个模板、某一个项目,还是全员可见。
同时记下两个时间点:首次发现重复的时间,以及最近一次周期规则或模板变更的时间。两者接近时,变更就是重点排查对象;两者相隔较远,则要往自动创建条件和历史数据恢复方向查。
| 记录项 | 填写内容 | 用途 |
|---|---|---|
| 重复周期 | 同一周期内重复 / 跨周期叠加 / 历史任务被重新拉起 | 区分触发频率问题与数据恢复问题 |
| 重复对象 | 仅标题 / 含负责人和截止时间 / 含子任务与附件 | 判断是规则触发还是复制、套用 |
| 影响范围 | 单条规则 / 某个模板 / 某个项目 / 全员 | 确定止血范围和清理工作量 |
| 时间点 | 首次发现时间、最近规则或模板变更时间 | 锁定可疑变更 |
按假设排查重复来源
现象记录完成后,把可能的原因列成假设,逐条找证据验证。排查顺序建议从影响面小、验证成本低的假设开始:先看规则列表,再看模板套用记录,最后看自动创建条件和操作日志。每条假设都要落到具体证据上,确认、排除或标记待验证,避免把猜测直接当成结论去改配置。
假设一:周期规则被重复启用或存在多条相似规则
核对位置是周期规则列表。重点看同一业务对象下是否存在两条以上名称相近、周期相同、负责人相同的规则,以及某条规则是否处于重复启用状态。证据包括规则创建人、创建时间和启用状态。如果两条规则生成的重复任务在标题、负责人、截止时间上完全一致,这条假设基本可以确认。
假设二:模板或标准任务清单被多次套用
核对模板的套用记录和任务的来源字段。常见情形是同一模板在一个周期内被套用两次,或者模板套用与周期规则同时生效,两条路径各生成一套任务。证据是任务创建记录中显示的不同来源,以及模板套用操作的时间戳。若重复任务的子任务结构完全一致,优先查这一项。
假设三:自动创建条件被多次满足
核对自动创建入口的触发条件和执行记录。触发条件依赖的字段如果被反复修改,比如状态在短时间内多次往返,条件可能被多次满足;触发后如果没有去重判断,每次满足都会新建任务。证据是自动创建的执行日志,看同一条件在重复任务生成的时间点附近被触发了几次。
假设四:任务被手动复制、导入或从历史周期恢复
核对操作日志中的复制、批量导入和恢复操作。这类重复通常带有明显特征:创建人集中、创建时间接近、任务编号连续。历史周期恢复造成的重复,还会表现为旧任务带着原截止时间重新出现。
| 原因假设 | 核对位置 | 关键证据 | 状态 |
|---|---|---|---|
| 周期规则重复启用或存在相似规则 | 周期规则列表 | 规则创建人、启用状态、周期设置 | 待验证 |
| 模板被多次套用或多入口并存 | 模板套用记录、任务来源字段 | 套用时间戳、来源标识、子任务结构 | 待验证 |
| 自动创建条件多次满足且未去重 | 自动创建执行日志 | 触发次数、触发时间与重复任务时间吻合 | 待验证 |
| 手动复制、导入或历史恢复 | 操作日志 | 创建人集中、编号连续、旧截止时间 | 待验证 |
表格中的状态在实际排查中逐项改为“已确认”或“已排除”。多条假设同时成立的情况并不少见,比如相似规则和模板套用各贡献了一部分重复任务,这时要按任务来源分别统计数量,再决定清理顺序。
处置步骤:止血、清理与修正
处置按风险从低到高推进:先停止继续产生重复,再保留证据,然后清理已有重复任务,最后修正配置。每一步都有前置条件和停止点,遇到与预期不符的情况先停下来复核,不要带着疑问继续往下做。
第一步:止血
暂停已确认可疑的周期规则或自动创建入口,现有任务一律不删。前置条件是可疑来源已经通过证据定位,至少缩小到一两条规则或一个入口。如果暂时无法定位来源,可以暂停影响范围内全部周期规则,但要在记录中注明暂停范围和恢复时间。停止点:暂停后观察一个触发周期,确认没有新任务生成,再进入下一步。
第二步:留证
导出重复任务清单和规则配置,记录操作人与操作时间。清单至少包含任务标题、负责人、截止时间、创建时间、创建人和来源字段;配置包含周期设置、触发条件和模板套用关系。这一步是后续清理和复盘的基础,也是出现误删时恢复的依据。留证完成前不执行任何删除操作。
第三步:清理
按任务来源分组处理重复任务。每组保留一条作为主任务,其余合并或关闭,并在主任务上注明归属周期和保留理由。合并前确认子任务、附件和评论是否已归并到主任务,避免关闭时丢失进展记录。前置条件是留证已完成、主任务已选定。停止点:清理过程中如果发现某条重复任务已被他人处理过,先与处理人确认再操作,不要直接关闭。
第四步:修正
根据确认的原因调整配置:相似规则合并为一条并统一命名;模板套用改为单一入口,或在套用前检查同周期是否已有任务;自动创建条件补充去重判断,比如同周期同负责人已存在任务时跳过创建。修正后先在小范围试运行一个周期,确认只生成一条任务,再恢复全量。
在ONES中,周期任务规则、任务来源字段和操作记录可以支撑上述排查与处置:规则列表用于核对相似规则,任务来源用于区分规则生成、模板套用和手动创建,操作记录用于追溯创建人与时间。清理时通过关闭多余任务、保留主任务并注明归属周期,可以把处置结果留在任务上,便于后续核对。
验证恢复与防复发
处置完成不等于问题解决,要用一轮完整周期验证。验证口径很具体:下一个周期只生成一条任务,负责人、截止时间和子任务与规则设置一致,任务来源字段指向预期入口。观察窗口至少覆盖一个完整周期;跨周规则要覆盖周末边界,跨月规则要覆盖月末到月初的日期切换,按季度执行的规则则要覆盖季末。边界日期是重复生成的高发时段,验证时不能跳过。
验证通过后,建立几条日常约束防止复发:
- 周期规则统一命名并标注归属业务,新建规则前先检索是否已有相似规则;
- 模板套用前检查同周期是否已存在同类任务,套用操作保留记录;
- 自动创建入口收敛到少数几个,每个入口明确触发条件和去重逻辑;
- 每月抽查一次周期任务的生成数量,与规则数量比对,发现异常及时排查。
如果验证期内再次出现重复,先回退最近的配置修改,恢复到上一个稳定状态,再按第二节的假设顺序重新排查。回退前保留当前配置和任务清单,避免两次问题叠加后难以区分原因。
常见问题
暂停周期规则后,已经生成的任务要不要一起删掉?
暂停规则只停止后续生成,已经产生的任务先保留。删除前需要完成留证:导出重复任务清单和规则配置,记录创建人、创建时间和来源字段。清理时按来源分组,每组保留一条作为主任务,其余合并或关闭,并在主任务上注明归属周期。这样既减少重复干扰,也保留后续复盘和误删恢复的依据。
多条原因假设同时成立时,清理顺序怎么定?
先按任务来源把重复任务分组统计数量,来源清晰的组先处理,来源待验证的组暂缓。通常先处理相似规则造成的重复,因为规则合并后不会再产生新任务;再处理模板套用和自动创建造成的重复,这两类需要先修正入口再清理存量。清理过程中如果某条任务已被他人处理,先与处理人确认再操作。
跨月或按季度执行的周期任务,验证要观察多久?
观察窗口至少覆盖一个完整周期,并且要包含边界日期。跨周规则覆盖周末,跨月规则覆盖月末到月初的日期切换,按季度执行的规则覆盖季末。边界日期是重复生成的高发时段,只观察周期中段不足以确认问题已解决。验证期内再次出现重复,先回退最近的配置修改,恢复到上一个稳定状态,再重新排查。
自动创建入口已经补了去重判断,为什么还可能重复?
去重判断依赖的字段如果被反复修改,条件仍可能被多次满足;另外,同一业务对象下如果还有模板套用或手动复制等其他创建路径,单靠一个入口的去重无法覆盖。排查时对照任务来源字段,确认重复任务是否都来自同一入口,再决定是补充去重条件还是收敛创建入口。
日常怎么尽早发现周期任务又开始重复?
每月抽查一次周期任务的生成数量,与周期规则数量比对,数量明显超出时逐条核对来源。同时关注规则列表是否出现名称相近的新规则,模板套用记录是否在同一周期出现两次。发现异常时先暂停可疑入口并留证,再按现象记录、假设验证、处置、验证的顺序处理。


















