周期任务里,重复频率决定任务按什么间隔生成下一次实例,比如每天、每周或每月;生效时间决定这套规则从哪一天开始计算、从哪一次起真正产生任务。频率管节奏,生效时间管起点,两者组合后才形成完整的实例序列。生效时间也不等于任务截止时间,它只回答“从何时开始按规则生成”。
要点总览(TL;DR)
- 重复频率控制实例生成的间隔与周期单位,例如每天、每2周、每季度,它决定序列的疏密,不决定从哪天开始。
- 生效时间控制整套重复规则的起算日期,决定首次实例的日期边界;它既不是每次任务的执行时刻,也不是任务截止时间。
- 一条完整的触发规则还包括结束条件、每次实例的执行时点、承接人与跳过规则,缺一项规则就可能无法收尾或无人承接。
- 跳过规则只处理落在休息日、节假日等异常日期上的单次实例,常见处置为顺延、提前或跳过,不改变频率与起算基准。
- 读一条周期任务规则可按“起算日—节奏—执行时点—异常处置—结束条件”的顺序逐项核对,避免把生效时间误当成首次执行时刻。
一句话说清:频率管节奏,生效时间管起点
理解这两个字段,最直接的方式是看它们各自回答什么问题。重复频率回答“隔多久来一次”,生效时间回答“从哪天开始算”。只设置频率而不设置生效时间,规则缺少起算基准;只设置生效时间而不设置频率,规则没有重复节奏。二者共同作用,才决定第一次实例落在哪天、之后每隔多久出现一次。
| 字段 | 回答的问题 | 控制范围 | 不负责的内容 |
|---|---|---|---|
| 重复频率 | 隔多久生成一次 | 间隔数值与周期单位,如每2周、每季度 | 从哪天开始、首次落在何时 |
| 生效时间 | 从哪天开始按规则生成 | 规则起算日、首次实例的日期边界 | 重复间隔、每次几点执行 |
需要特别注意的是,生效时间描述的是规则的起算日期,与任务本身的截止时间属于两个不同概念。截止时间约束某一次任务需要完成到什么时候,生效时间约束这套重复规则从什么时候开始运转。把生效时间误读为“第一次任务的执行时刻”或“任务到期日”,是配置中最常见的混淆。
周期任务触发规则由哪些要素构成
一条可用的周期任务触发规则,通常由若干要素共同组成。频率和生效时间只是其中两项,缺少其他要素,规则要么无法结束,要么生成的实例无人承接。
- 重复频率:规定间隔数值与周期单位,决定实例序列的疏密。
- 生效时间:规定规则从哪一天起算,划定首次实例的日期边界。
- 结束条件或重复次数上限:规定规则何时停止,例如到某个日期截止,或只重复若干次。没有结束条件的规则会持续生成实例。
- 每次实例的执行时点:规定每次任务在当天几点触发或提醒,与生效时间分属不同维度。
- 承接人与跳过规则:承接人决定实例生成后由谁负责;跳过规则处理实例落在休息日、节假日或指定日期时的处置方式。
这些要素组合起来,才构成一条可预期的规则:从生效时间起算,按频率推进,在每次实例的执行时点触发,由承接人处理,遇到特殊日期按跳过规则处置,到达结束条件后停止。在协作工具中,这套规则通常落在具体工作项上,由负责人承接每次生成的实例。以ONES为例,周期任务可以承载在工作项中,规则字段与负责人、状态流转一起构成可追踪的执行链条;具体字段的取值与行为,建议以所用工具的当前文档为准。
重复频率具体控制什么:间隔、单位与序列
重复频率的核心是“间隔数值 + 周期单位”的组合。间隔数值决定隔几个单位来一次,周期单位决定以什么时间尺度推进。两者组合后,形成一串等距的实例序列。
- 每天:间隔为1天,序列按日推进,适合每日站会提醒、日报收集一类任务。
- 每周:间隔为1周,序列按周推进,适合周报、每周巡检。
- 每2周:间隔数值为2、单位为周,序列每隔两周出现一次,适合双周例会准备。
- 每月:按自然月推进,适合月度对账、月度复盘。
- 每季度:按季度推进,适合季度目标回顾、季度合规检查。
频率只描述节奏,不描述起点。设置“每周”并不会自动说明从本周开始还是下周开始,这个起点由生效时间给出。另一个需要留意的条件是:修改频率后,已经生成的实例如何处理,不同工具的做法可能不同,有的保留历史实例、只影响后续生成,有的会重算未完成实例。这类行为需要在具体工具中确认,不能按通用规则想当然。
生效时间具体控制什么:起算日、首次生成与边界
生效时间是整套重复规则的起算基准。它回答的是:从哪一天开始,系统按频率推进并生成实例。生效时间确定后,首次实例的落点随之确定——通常落在生效时间当天或其后第一个符合频率节奏的日期,具体取决于工具对起算日的处理方式。
生效时间与当前日期的关系,会带来两种处理方向。生效时间早于当前日期时,规则视为已开始运转,系统可能补生成此前应产生的实例,也可能只从当前时点往后生成,这取决于工具策略。生效时间晚于当前日期时,规则处于待生效状态,到达该日期后才开始生成实例。配置前应明确工具属于哪种处理方式,避免出现预期外的补生成或漏生成。
还要区分三个容易混用的时间概念。生效时间是规则的起算日期;执行时点是每次实例在当天几点触发;截止时间是某次任务需要完成到什么时候。三者分别约束规则的起点、单次触发的时刻和单次任务的完成期限,不能互相替代。生效时间早于截止时间是常见配置,但生效时间本身不构成任何一次任务的到期约束。
跳过规则补上什么:落在非工作日的实例怎么办
频率与生效时间组合后,实例可能落在休息日、法定节假日或组织指定的特殊日期上。跳过规则处理的正是这类日期冲突,它不改变频率节奏,也不改变起算基准,只对落在异常日期上的单次实例做处置。
- 顺延:把实例推到其后的第一个工作日,适合巡检、审批一类不宜在休息日执行的任务。
- 提前:把实例提到其前的最后一个工作日,适合需要在休息日前完成准备的任务。
- 跳过:该次实例不生成,序列继续按原节奏推进,适合频率较高、单次缺失影响有限的任务。
跳过规则与频率、生效时间是配合关系:频率决定实例的理论落点,生效时间决定序列从哪天开始,跳过规则只调整落在异常日期上的个别实例。处置结果应当能在实例上追溯,例如实例日期被调整后仍可看出原定日期与调整原因,便于后续核对执行记录。若工具未提供跳过规则,则需要人工在实例生成后调整日期,这会增加维护成本。
容易混淆的相邻概念:生效时间、截止时间与项目模板
周期任务的字段容易与几组相邻概念混淆。用同一口径对照,可以看清各自约束的对象不同。
| 概念 | 约束对象 | 与生效时间的区别 |
|---|---|---|
| 生效时间 | 整套重复规则的起算日期 | —— |
| 截止时间 | 某一次任务的完成期限 | 约束单次任务的完成,不决定规则何时开始 |
| 执行时点 | 每次实例在当天几点触发 | 约束单日内的时刻,不决定日期序列 |
| 项目模板 | 项目或任务结构的复用 | 复用结构与字段,不按时间节奏生成实例 |
| 跨对象自动规则 | 对象间状态变化触发的自动化 | 由事件触发,不由日期节奏触发 |
周期任务与项目模板的归属差异值得单独说明:周期任务解决“同一类任务按时间反复出现”,项目模板解决“一套项目结构被反复套用”。前者由时间驱动,后者由人工发起复用。跨对象自动规则则归入研发流程自动化范畴,由字段变化、状态流转等事件触发,与按日期推进的周期任务属于不同机制。本文只讨论周期任务的触发规则,项目模板的建立与复用、流程自动化的配置不在范围内。
一个具体例子:每周巡检任务的规则怎么读
假设一条巡检任务的规则设置为:重复频率为每周一次,生效时间为某月3日(周一),执行时点为当天上午9点,结束条件为重复12次,跳过规则为顺延至下一工作日。下面按规则推导前几次实例。
- 第1次:3日(周一)上午9点,落在工作日,正常生成。
- 第2次:10日(周一)上午9点,正常生成。
- 第3次:17日(周一)上午9点,正常生成。
- 若某次理论落点恰逢法定节假日,按顺延规则推到其后的第一个工作日生成,实例上保留原定日期与调整记录。
- 第12次生成后,达到重复次数上限,规则停止,不再产生新实例。
这个例子中最常见的误解,是把生效时间当成首次执行时刻。生效时间只说明规则从3日起算,真正让任务在上午9点出现的是执行时点;如果执行时点设为下午3点,首次实例仍在3日,只是触发时刻变为下午。另一个误解是把生效时间当作截止时间,实际上每次实例都有自己的完成期限,与规则起算日无关。读懂一条周期任务规则,按“起算日—节奏—执行时点—异常处置—结束条件”的顺序逐项核对,就能准确预判实例序列。
常见问题
生效时间设成过去的日期,会发生什么?
这取决于所用工具对起算日的处理策略,常见有两种方向:一种把规则视为已开始运转,补生成此前应产生的实例;另一种只从当前时点往后生成,不追溯历史。配置前应先确认工具属于哪种方式,否则容易出现预期外的补生成任务,或误以为漏掉了实例。若工具支持,可先用一条测试规则观察首次生成结果,再正式启用。
修改重复频率后,已经生成的任务实例会被重算吗?
不同工具的做法可能不同:有的保留已生成实例、只影响后续生成,有的会重算尚未完成的实例。这类行为没有通用答案,需要在具体工具的文档或设置说明中确认。稳妥的做法是在调整频率前,先核对当前周期内已生成实例的状态,对已进入执行环节的实例做好记录,再修改规则,避免历史执行记录被覆盖。
生效时间和每次实例的执行时点可以分开设置吗?
可以,二者分属不同维度。生效时间约束规则的起算日期,执行时点约束每次实例在当天几点触发或提醒。例如生效时间为某月3日、执行时点为上午9点,首次实例落在3日,触发时刻为上午9点;把执行时点改为下午3点,日期序列不变,只是当天的触发时刻后移。配置时分别核对这两个字段,能减少“日期对了、时间不对”的问题。
跳过规则选择顺延后,实例日期被改动,还能查到原定日期吗?
这取决于工具是否在实例上保留调整记录。理想情况下,实例应能同时看出原定日期、实际生成日期与调整原因,便于后续核对执行情况。若工具只显示调整后的日期,建议在任务描述或备注中记录原定日期,尤其是巡检、审批一类需要留痕的任务。选择跳过规则前,先确认这类追溯信息是否可见。
周期任务和项目模板都用于重复性工作,该怎么区分使用?
看重复的对象和驱动方式。周期任务由时间驱动,同一类任务按频率反复生成实例,适合周报、巡检、月度对账这类节奏固定的工作。项目模板解决一套项目或任务结构被反复套用的问题,由人工发起复用,适合每次启动都需要完整结构、但时间不固定的项目。两者可以配合:用模板搭好结构,再用周期任务承接其中按固定节奏出现的环节。
