1. 概述
1.1 版本
| FineDataLink 版本 | 功能变动 |
|---|---|
| 4.0.29 | 「运行记录>任务记录」中,点击运行实例右侧的「查看详情」按钮,可重试任务、查看重试记录;重试任务后,原实例的运行状态不改变,新增重试实例,可与原实例进行关联 |
| 4.1.2 | 实例重试时,新增「指定业务日期」设置项 「运行记录」列表中,新增「重试」按钮 运行中和排队中的实例,不支持重试 重试任务的「参数设置」步骤中,删除「添加参数」的功能 |
| 4.1.4 | 重试任务时,支持重试至某个节点 |
| 4.1.11.1 | 任务级重试任务时,提供「重试当前任务及下游」操作 |
| 4.2.17.3 | 支持批量任务重试 任务重试时,支持设置重试优先级 |
1.2 应用场景
1)用户设计的定时任务取数逻辑为:每天抽取当天调度时间往前推 24h 内的数据,汇集到目标数据库。节假日期间 3 天,系统宕机,定时任务没有运行,导致目标数据库缺少 3 天的数据。
具体示例请参见:补数据示例
2)定时任务在运行过程中某个输出组件出现脏数据,在 脏数据阈值 后,定时任务不会停止;定时任务运行结束后运维人员收到推送,发现有脏数据产生。
运维人员打开脏数据处理界面,查看脏数据产生的原因,发现脏数据原因是字段超长,修改目标端字段长度后,希望重新运行任务。
1.3 功能简介
FineDataLink 支持重试定时任务,可「指定范围重试」或者「任务级重试」。如下图所示:
提示:
1.4 知识扩展
「运维中心>定时任务>运行记录」处,可以选择实例进行重试(本文内容);定时任务发布后,也可以 补充历史数据 。二者区别说明如下:
| 重试实例(本文内容) | 补历史数据 | |
|---|---|---|
| 相同点 | 本质上都是指定业务日期去触发任务运行,且配置结果只影响本次执行,不修改实际任务配置 | |
| 区别 |
| 在任务上触发运行,可以选择指定时间或者时间区间,如果是时间区间,可以生成多个实例,满足补数据的需求 |
| 查看运行记录 |
|
|
2. 重试单个任务
注:若来源表数据是完整的,可使用来源表与目标表进行 数据比对 ,将变化数据同步到目标表中,也可使用本章的重试任务功能。
2.1 重试入口
1)有两个入口:
「运行记录」列表中,可点击「重试」按钮。
点击「查看详情」按钮后,当次任务运行的日志记录界面中可看到「重试」按钮。

2)点击「重试」按钮后,界面如下图所示:
有两种重试方式:「指定范围重试」和「任务级重试」。

2.2 指定范围重试
选择「指定范围重试>节点名称」后,右下角可以选择「重试节点」、「重试节点及下游」、「重试至此节点」。界面如下图所示:

各设置项介绍如下表所示:
注:重新运行任务可能导致目标端存在重复数据,用户需根据实际情况进行判断处理。
| 设置项 | 说明 |
|---|---|
| 重试节点 | 1)适用场景:某个独立节点运行失败,与其他节点无显著关系,如一个「任务调用」节点运行失败 2)功能简介:选择「指定范围重试」才有该选项;用户选择出现脏数据的节点,进行指定重新运行,运行粒度为任务节点,不支持「数据转换」节点中的算子 3)重试时,不展示「备注说明」节点 |
| 重试节点及下游 | 1)适用场景:用户将一个业务闭环拆解为多个节点,如节点 A 输出参数,节点 B 引用节点 A ,此时出错需要重新运行节点 A+B 2)功能简介:选择「指定范围重试」才有该选项;用户选择出现脏数据的节点,运行该节点及后面的节点(运行情况与节点本身的执行情况和连线情况有关) 运行粒度为任务节点,不支持「数据转换」节点中的算子 3)选择「条件分支」「参数赋值」「虚拟节点」类型的节点时,只能使用:重试节点及下游 |
| 重试至此节点 | 详情可参见:运行至此节点 |
| 参数设置 | 进行重试时,用户可以对本次重试时的参数进行临时配置,配置结果只影响本次重试运行、不修改实际任务配置 界面如下图所示:
1)指定业务日期:
2)任务参数: 支持修改 当参数为日期类型时,不能修改为常量,值格式:时间格式+N,或时间格式-N,时间格式:yyyy、yy、mm、dd、hh、mi、ss 自由组合 A 任务依赖 B 任务,对当前 B 任务设置了「指定业务日期」,会触发 A 任务,A 任务会被触发但是执行的时间是当前时间非「指定业务日期」 |
| 任务优先级 | 4.2.17.3 及之后版本有该设置项
|
2.3 任务级重试
界面如下图所示:

各设置项介绍如下表所示:
注:重新运行任务可能导致目标端存在重复数据,用户需根据实际情况进行判断处理。
| 设置项 | 说明 |
|---|---|
| 重试当前任务 | 定时任务整体失败,对任务整体进行重试 |
| 重试当前任务及下游(4.1.11.1 及之后版本) | 说明: 若为定时任务 A 设置 事件调度 时,设置了下游任务 B ,重试任务 A 时,可选择该按钮,将根据「事件调度」中配置的任务关系&条件内容,判断下游任务 B 是否触发 应用场景: 例如用户设置 A、B 任务触发 D 任务,A、B任务都失败,未触发下游任务 D,希望能够重跑任务,若两个任务均重跑成功则触发下游任务,就可以使用此功能
注:该次手动重试产生的运行记录(包含下游被本次拉起的实例)会参与事件调度条件内容判断(包含定时),判断使用成功触发下游过后不再使用本次的运行记录去参与判断 |
| 参数设置&任务优先级 | 参考本文 2.2 节内容 |
2.4 产生脏数据后,重试的处理场景
| 场景 | 增量同步的方式 | 重试后是否会存在数据问题 | 建议处理措施 |
|---|---|---|---|
| 全量同步 | - | 否 | - |
| 增量同步-使用时间戳 | 动态参数:如:配置 now-1 作为数据范围,每次更新前一天数据 | 是 | 在重试时,用户可以指定本次运行的临时任务参数值 且用户的任务设计需要支持幂等,即同一数据范围的定时任务需要支持多次运行 |
| 获取目标表的最新数据时间戳 如:每次任务先从目标表获取最大的时间戳,作为本次同步的起始时间 | 是 | 用户需要手动删除目标表大于本批次的数据,以进行重试 且用户的任务设计需要支持幂等,即同一数据范围的定时任务需要支持多次运行 | |
自定义配置表存储断点 如:每次任务最后一步存储本次同步的最大时间至一张表存储 | 是 | 用户需要手工修改断点值,以进行重试 且用户的任务设计需要支持幂等、即同一数据范围的定时任务需要支持多次运行 | |
| 全表比对 | - | 否 | - |
3. 批量重试
1)4.2.17.3 及之后版本,支持批量重试定时任务。
选择的实例中有构建中、运行中、排队中的实例时,「批量重试」按钮灰化。

2)点击「批量重试」按钮后,进入「重试方式」步骤。如下图所示:

仅支持任务级重试。
「重试下游任务」按钮:勾选后,产生的运行记录会参与下游任务执行条件的判断;可点击「查看」按钮,可查看当前任务组及其上下游任务组。

3)点击「下一步」,进入「参数设置」步骤。

| 设置项 | 说明 |
|---|---|
| 指定业务日期 | 不支持手动设置,默认为原实例运行时间 |
| 任务静态参数 | ![]() 参数值为任务配置的最新参数值;支持修改,只影响本次重试运行,不修改实际任务配置 |
4)点击「下一步」,进入「运行管理」步骤。
任务优先级说明:
默认跟随任务最新的优先级配置;支持修改,配置结果只影响本次任务产生的实例,不修改实际任务配置。
此处是按照任务配置优先级,而不是实例;即同个任务的实例具体相同的优先级,并默认按照各个实例的业务日期顺序执行。

5)点击「重试」按钮即可。
4. 重试记录查看
1)点击「运维中心>定时任务>运行记录」,触发方式选择「手动重试」,可查看重试记录。

2)重试任务后,原实例的运行状态不改变,新增重试实例,可与原实例进行关联。如下图所示:

返回原记录后,展开「重试记录」按钮,选择某次的重试记录,可查看该次的重试记录。如下图所示:

