整体说明


完成任务的开发、调度设置、报警设置后,可对任务提交上线。目前提交上线时,支持4个大类的检测,包括是否必须开发模式测试、是否需要走工单审批、是否代码扫描规则异常、是否调度设置异常。

注意:当前提交上线时,暂未对报警设置的配置做校验,比如值班组有效性等。

提交上线 - 图1

检测一:是否开发模式测试


离线开发任务中,除了虚拟节点,其它新拖入的节点,或者有修改的节点,都会有黄色图标的“节点待测试标记”。如果运行成功一次,则会变成绿色图标的“节点测试通过标记”

提交上线 - 图2

存在“节点待测试标记”的任务提交上线时,存在如下4种不同场景。

场景1:任务被圈定了强制开发模式测试,当前操作人为项目负责人或管理员,会提示可以提交上线;

提交上线 - 图3

场景2:任务被圈定了强制开发模式测试,当前操作人不是项目负责人和管理员,则在强制测试的生效时间窗口中提交,会提示必须测试运行通过才可上线;

提交上线 - 图4

场景3:任务被圈定了强制开发模式测试,当前操作人不是项目负责人和管理员,则在强制测试的生效时间窗口之外提交,页面上仅会提示“非必需,但建议测试”;

提交上线 - 图5

场景4:任务未被圈定了强制开发模式测试,当前操作人提交时,仅会提示“非必需,但建议测试”。

针对开启开发模式任务提交上线时,强制开发模式提交上线前,必须所有节点都经过测试的功能,可在离线开发配置中查看,“离线开发配置-基础配置”

使用建议: 针对核心任务,可开启“强制开发模式测试”,降低任务在线上调度出现异常的概率。

检测二:是否需要走工单审批


提交上线时,如果当前任务在圈定的强制走工单审批的范围内,且在生效时间内,或者产出表影响的内容设置了强制走工单,则必须“提交工单”,工单审批通过后才可提交上线。如果还有其它检测未通过,则需处理其它未通过的原因,全部检测通过后,才会在任务提交上线时出现“提交上线”的按钮。

针对如何配置强制走工单审批,可在离线开发配置中查看,“离线开发配置-基础配置”

使用建议: 针对核心任务,可开启“强制走工单审批设置”,经由管理员review任务和审批,可降低任务在线上调度出现异常的概率。

提交上线 - 图6

检测三:是否代码扫描规则异常


离线开发配置中,支持设置“代码扫描”

任务提交上线时,如果任务中包含SQL节点,则系统会基于已启用的代码扫描规则,对SQL节点进行代码扫描诊断。在检测结论中,会说明强弱规则异常的数量,在提交上线的弹框中,也会显示触发规则的异常详情。如果触发了强规则,则还会阻断任务提交,操作者需要返回修改代码,没有强规则异常时,才运行提交上线。

提交上线 - 图7

检测四:是否调度设置异常


开发模式下任务提交上线,支持相关检测,并进行提醒或阻断,具体的异常检测项如下:

1)调度生效时间

由于任务间依赖严格按照时间先后计算,如果出现上游调度生效时间晚于下游调度生效时间时,可能会影响下游的正常依赖。比如上游开发模式设置为每1天1:00调度,下游线上模式设置为每1天1:10调度,则当上游开发模式改为每1天1:20调度,提交上线时,机会出现该种异常项提醒。

该规则为弱规则,检测触发该异常项时,不阻断任务提交上线。

如下图,为提交上线弹框中“调度设置异常”区块中提示的截图:

提交上线 - 图8

2)下游依赖

开发模式的任务内节点和线上模式的任务内节点可能存在差异,因此开发模式的任务依赖配置和线上模式的任务依赖配置也会存在差异。所以开发模式配置的依赖,提交到线上时可能会和线上模式的任务依赖情况产生冲突。因此,提交上线时会对下游依赖情况进行检测。

出现该异常项提醒,会有2种场景。

场景1:当前任务线上模式中存在被下游依赖的节点,在开发模式被删除或禁用。

注意:
该规则为强规则,检测触发该异常项时,不允许提交上线。

如下图,为提交上线弹框中“调度设置异常”区块中提示的截图:

提交上线 - 图9

点击“查看详情”,可查看开发模式下被删除或禁用的节点会影响的下游任务详情。

提交上线 - 图10

场景2:当前任务线上模式存在下游依赖,但被设置为未调度。

注意:
该规则为强规则,检测触发该异常项时,不允许提交上线。

如下图,为提交上线弹框中“调度设置异常”区块中提示的截图:

提交上线 - 图11

点击“查看详情”,可查看开发模式下被线上模式任务依赖的下游任务详情。

提交上线 - 图12

3)上游依赖

开发模式的任务内节点和线上模式的任务内节点可能存在差异,因此开发模式的任务依赖配置和线上模式的任务依赖配置也会存在差异。所以开发模式配置的依赖,提交到线上时可能会和线上模式的任务依赖情况产生冲突。因此,提交上线时会对上游依赖情况进行检测。

出现该异常项提醒,会有2种场景。

场景1:上游依赖的节点不存在或被禁用。

注意:
该规则为强规则,检测触发该异常项时,不允许提交上线。

如下图,为提交上线弹框中“调度设置异常”区块中提示的截图:

提交上线 - 图13

点击“查看详情”,可查看开发模式依赖的在开发模式存在,但在线上模式不存在或被禁用的上游任务的节点。

提交上线 - 图14

场景2:上游依赖的任务未调度。

注意:
该规则为强规则,检测触发该异常项时,不允许提交上线。

如下图,为提交上线弹框中“调度设置异常”区块中提示的截图:

提交上线 - 图15

点击“查看详情”,可查看开发模式依赖的未调度的任务。

提交上线 - 图16

4)下游调度生效时间影响

开发模式配置了调度时间,且该时间晚于下游任务线上模式的调度时间时,会出现该种提醒。

该规则为弱规则,检测触发该异常项时,不阻断任务提交上线。

提交上线 - 图17

点击“查看详情”,可查看线上模式任务下游任务的调度信息。

提交上线 - 图18

5)队列为空

当开发模式配置了某个Yarn队列后,该队列又被删除,会出现该种提醒。

该规则为弱规则,检测触发该异常项时,不阻断任务提交上线。

6)调度日历不存在

当开发模式配置了某个调度日历后,调度日历又被删除,会出现该种提醒。

该规则为弱规则,检测触发该异常项时,不阻断任务提交上线。

7)调度周期变更

当任务线上模式存在下游,并在开发模式修改了调度周期时,会出现该种提醒。

该规则为弱规则,检测触发该异常项时,不阻断任务提交上线。

提交上线 - 图19