1. 概述编辑
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.26 | 1)新增「超时限制」和「失败重试」功能 2)4.0.26 版本之前,「结果通知」需要「开启调度」才能设置;4.0.26 版本及之后,「结果通知」可以单独开启 |
4.0.27 |
|
4.0.28 | 「结果通知」中:
|
4.0.29 |
|
1.2 功能简介
任务控制界面如下图所示:
功能点 | 说明 |
---|---|
调度配置 | 可为定时任务设置执行频率,定期自动运行定时任务,以保证数据能够及时更新,一个定时任务可设置多个执行频率 |
容错机制 | 失败重试: 由于当时的网络波动或者其他原因,导致任务运行中断,过段时间重新运行任务即可成功执行。针对此场景,可在「失败重试」中设置重跑次数和两次重跑之间的间隔,任务在失败之后会进行自动重试 超时限制: 当一个任务长时间运行,该任务可能属于非正常状态,且会导致资源的占用。针对此场景,可在「超时限制」中配置任务的超时时间,运行时间超过设置的时间后正在执行的任务会被强制杀死 脏数据容忍: 用户可设置脏数据阈值、使任务具备一定容错性 |
结果通知 | 任务执行失败后,可通知相关人员任务执行失败 通知渠道:平台、邮件、短信、钉钉群机器人、飞书群机器人、企业微信群机器人 通知内容:任务异常通知、脏数据通知 |
2. 调度配置编辑
1)在「调度配置」中,可为该任务设置执行频率,定期自动运行定时任务,以保证数据能够及时更新。点击「添加调度」按钮,可以对这个调度的名称、开始时间、执行频率、结束时间进行设置。如下图所示:
注1:调度配置的时间跟随服务器时间。
注2:调度计划名称:不可重名,不可为空,任务名不可包含特殊字符?*:<>|"\/
设置项 | 说明 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
调度计划名 | 默认值:调度x-任务名称(起始值为1,累加计数),可自定义修改 | |||||||||||||||
调度状态 | 默认关闭,如果需要设置执行频率,需开启该按钮 | |||||||||||||||
执行频率 | 其中「执行频率」有四个可选的设置项。每个设置的说明如下表所示:
注1:设置执行频率后,每次任务执行完毕后才会开始下次执行,在此之前,任务处于排队状态 注2:设置频率后,若某一次定时任务执行失败,等到下次执行时间,依然会自动执行任务 |
2)一个定时任务可设置多个执行频率。如下图所示:
具体介绍如下表所示:
场景 | 说明 |
---|---|
修改调度 | 点击调度右侧的修改按钮即可 |
删除调度 | 先关闭调度,再点击删除按钮 |
其他说明 | 「调度配置」处可为单个定时任务设置执行频率,「任务运维>定时任务>调度计划」中,可为多个定时任务设置执行频率 「调度配置」处可查看该定时任务设置的所有执行频率,但「调度计划」为该任务设置的执行频率,在「调度配置」处无法修改和删除,需要到「调度计划」中修改和删除 点击上图红框中的调度计划名 「JSON解析」,可跳转到「调度计划」页面进行编辑和删除 |
3. 容错机制编辑
设置界面如下图所示:
3.1 失败重试
由于当时的网络波动或者其他原因,导致任务运行中断,过段时间重新运行任务即可成功执行。针对此场景,可在「失败重试」中设置重跑次数和两次重跑之间的间隔,任务在失败之后会进行自动重试。
「失败重试」功能默认是关闭状态,需要手动开启。
设置项 | 说明 |
---|---|
重跑次数 | 默认值为 3 次,最大值为 100 次 |
每次间隔 | 默认值为 2 分钟,最大值为 60 分钟,粒度为分钟 |
注意点:
1)「失败重试」逻辑:是针对单个节点的失败重试设置
2)发生网络中断等情况造成无法与数据库建立连接,导致追加写入的数据仅写了一半,但是在重跑的时候会因为主键冲突而报错或者追加写入重复数据。
3)若 调用任务 中设置了失败重试,是重新执行整个子任务,而非子任务的失败节点。
4)若定时任务中包括循环容器,且设置了失败重试:
若失败节点在循环容器中,将重跑整个循环容器。
若失败节点在循环容器中,若一共循环 5 次,循环第二次时失败,将从第一次循环开始执行。
5)若任务设置了失败重试,重跑次数设置为 3 次,则 3 次都失败后,该任务才被判定为失败。
如下图所示,连线执行判断为「数据同步」节点失败再执行「消息通知」。若失败节点为「数据同步」节点,重跑次数设置为 3 次,若 3 次「数据同步」节点都失败,则「消息通知」才生效。
3.2 超时限制
当一个任务长时间运行,该任务可能属于非正常状态,且会导致资源的占用。针对此场景,可在「超时限制」中配置任务的超时时间,运行时间超过设置的时间后正在执行的任务会被强制杀死。
「超时限制」功能默认是关闭状态,需要手动开启。默认值为 1 小时,最大值为 48 小时。
「超时限制」逻辑:
用户若配置了「失败重试」,「失败重试」会生效。
用户没有配置「失败重试」,任务超时则视为任务失败,前端日志显示超时失败。
3.3 脏数据容忍
用户可设置「脏数据阈值」,使任务具备一定容错性。当任务运行时遇到脏数据,达到「脏数据阈值」前将继续执行定时任务,达到「脏数据阈值」后再报错。
脏数据定义:
可参见 脏数据 。
注:定时任务运行过程中,由于数据处理过程异常(例如 JSON 解析失败等),导致转换过程中产生若干条脏数据,「脏数据阈值」暂不支持此类脏数据。
功能简介:
1)「脏数据容忍」按钮默认关闭,「脏数据阈值」默认为 1000,输入范围为1~1万。
2)设置「脏数据阈值」后,默认所有输出类组件的错误数据均进入脏数据队列,并记录为对应算子/节点的脏数据。
输出类组件,需同时满足下面条件:
「数据转换」节点中的输出类算子 、「数据同步」节点
输出端选择「DB表输出」,且写入端数据库不是:Hive(hdfs)、GP(开启并行装载)、Redshift(开启高速装载)、星环、Doris、StarRocks 数据库。
3)脏数据阈值对任务中所有输出类组件统一生效,例如:配置项中配置 1000 ,则对于该任务中,所有的输出类组件,均设置节点级别的脏数据阈值为 1000 。
若任务运行过程中产生脏数据:
1)任务日志展示区域的「统计」页将展示脏数据信息;点击脏数据行数可展开查看各错误原因分类下的脏数据条数。
2)「任务运维>运行记录」处,点击运行实例右侧的「查看详情」按钮,可重试任务、查看重试记录。重试任务功能介绍、重试的处理场景请参见:定时任务运维 文档的 2.2 节内容。
4. 结果通知编辑
任务执行失败后,可通知相关人员任务执失败。
「结果通知」功能默认是关闭状态,需要手动开启。
需注意以下几点:
1)消息通知仅在任务执行失败时,才会通知,任务执行成功不会通知。
2)单个任务的通知限制 10s 一次。例如:
A 任务配置了任务失败提醒和脏数据提醒,在 10:00:00,因为脏数据超限导致任务停止。在 10:00:00~10:00:09.999 之间,如果 A 任务被重复触发,同样因为脏数据超限导致任务停止,不会再重复提醒。在 10:00:00~10:00:09.999 之间,如果 B 任务因为脏数据超限导致任务停止,会再提醒(因为不是同一个任务)。
4.1 结果通知按钮
默认关闭,需要手动开启。
4.2 通知内容
4.2.1 任务异常通知
任务失败提醒默认为(默认勾选,不可取消):
独立部署&集成部署中,各个渠道的通知内容统一为:${任务名} 运行失败,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41,请前往【任务运维】-【定时任务】-【运行记录】查看详情
具体报错信息:
默认不勾选,勾选后,若任务失败,将发送报错信息
各个渠道的通知内容统一为:
${任务名} 运行失败,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41,报错节点为【${节点名称}】,具体报错信息。更多报错内容请前往【任务运维】-【定时任务】-【运行记录】查看详情
报错示例:
多个节点出错,各个渠道的通知内容统一为:
${任务名} 运行失败,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41,报错节点为【${节点名称}】,具体报错信息;报错节点为【${节点名称}】,具体报错信息。更多报错内容请前往【任务运维】-【定时任务】-【运行记录】查看详情
4.2.2 脏数据通知
1)出现脏数据按钮:勾选「脏数据通知」按钮后,「出现脏数据」按钮默认勾选。当定时任务出现脏数据后,进行通知。
2)脏数据汇总信息按钮:勾选后,在定时任务运行完成后,将脏数据按照原因汇总发送给用户。
3)具体报错内容如下表所示:
不勾选「脏数据汇总信息」按钮 | 勾选「脏数据汇总信息」按钮 | ||
---|---|---|---|
标题:数据开发任务脏数据通知 【信息平台】您好,数据开发任务「#taskname#」中,产生脏数据,请前往「任务运维」-「定时任务」模块,在对应任务日志中查看详情。 | 标题:数据开发任务脏数据通知 数据开发任务「#taskname#」中,产生脏数据,原因为#errorReason#,请前往「任务运维」-「定时任务」模块,在对应任务日志中查看详情。
示例: |
4)任务日志的「统计」Tab下,展示统计对象的脏数据行数;点击脏数据行数可展开查看各错误原因分类下的脏数据条数。
4.3 平台用户组
当通知渠道为短信/邮件/平台渠道时:基于平台体系配置通知对象,通知对象可选择平台用户、部门、角色,三者取并集。
4.4 通知渠道
统一说明:
1)当通知渠道选择短信/邮件/平台时,「通知对象」中需要勾选「平台用户组」按钮。如下图所示:
2)通知渠道选择短信/邮箱时,「自定义收件人」与「平台用户组」不能同时为空。
3)通知渠道选择短信/邮箱时,「自定义收件人」不支持引用参数。
4)通知渠道选择短信/邮箱时,「平台用户组」中选择了 A 用户,自定义收件人中也设置了 A 用户,不做重复通知。
具体设置说明:
通知渠道选择「客户端」时,可设置通知渠道为钉钉/飞书/企业微信。
注:一个通知渠道中,Webhook 地址不支持填写多个。
钉钉群机器人 Webhook 地址:可参考 自定义机器人接入
飞书群机器人 Webhook 地址:自定义机器人使用指南
企业微信群机器人 Webhook 地址:添加群机器人步骤如下图所示,机器人添加成功的提示页面上会有 webhook 地址: