附录:任务运维中心(新)批量冻结和修复功能

新版任务运维除了基线智能任务运维功能外,还引入了批量冻结和修复功能,主要用于在离线开发中数据异常并向下游扩散时的快速阻断和高效的恢复。具体的应用场景如下所述:

在离线开发过程汇总,每天会有大量的任务产生实例,实例间按照调度和依赖自动开始执行,当某个有大量下游的实例因为某种原因(比如源头数据丢失、计算逻辑错误、依赖缺失导致提前执行等),导致输出的数据产生异常,并且没有配置数据质量监控等内容,下游已经开始自动进行调度,此时有问题的数据就会向下游扩散,污染更多下游产出数据。此时需要批量对任务进行冻结和修复,在任务运维中心,主要是通过下面三个步骤对任务进行阻断和数据恢复。

首先,创建溶解池。新建一个冻结池任务,将源头的问题任务加入到冻结池中,生成东截止,系统会自动将源头任务的所有下游依赖任务都纳入到该冻结池中,被纳入到冻结池的任务会被冻结,运行中的实例会被终止,未生成的实例会停止是生成,来完成数据污染扩散的阻断。

在周期实例运维Tab下,点击批量冻结及修复功能按钮(当前仅项目负责人/管理员可见该功能按钮),创建冻结池。

附录:任务运维中心(新)批量冻结及修复功能 - 图1 2021-08-27-14-29-29.png

创建冻结池时,可选择冻结哪一天(即参照日期)的任务,支持昨天、今天和明天,默认是今天。在冻结池中,首先要确定需要冻结的源头任务,可通过勾选或者批量导入的方式,添加到右侧的”已选任务”。

附录:任务运维中心(新)批量冻结及修复功能 - 图3 2021-08-27-14-29-40.png

源头任务选择完成后,可进行”冻结预览”,可查看源头任务和系统计算出的所有下游任务。预览完成之后,可执行”创建并执行”,系统将开始从源头任务,按照任务血缘依赖向下游冻结任务,并终止这些任务的实例。

附录:任务运维中心(新)批量冻结及修复功能 - 图5 2021-08-27-14-29-52.png

如果源头任务的数据已处理完毕,则可以执行冻结池的解冻操作。在冻结池列表的操作列,选择解冻,系统将会重跑所有实例。

附录:任务运维中心(新)批量冻结及修复功能 - 图7 2021-08-27-14-30-03.png

点击冻结池名称,进入冻结池详情页面,会展示任务的冻结情况和已生成实例的重跑情况。当任务解冻率100%时,则说明问题已被修复,但往往会出现部分实例可能重跑不通过等,此时需要处理人员去进行解决,解决之后,可在”相关实例”Tab页下,选择”强制解冻任务”即可。

附录:任务运维中心(新)批量冻结及修复功能 - 图9 2021-08-27-14-30-16.png

以上完成了任务的冻结和解冻功能,其他页面,包括周期实例大盘,展示值班运维概况、任务完成率趋势图、基线完成时间等内容。

附录:任务运维中心(新)批量冻结及修复功能 - 图11 2021-08-27-14-30-26.png

任务运维中心是离线开发的必备辅助产品,辅助开发人员进行离线任务管理和实例运维的工作,提高运维效率,及时发现问题并提供诊断建议,并为团队运维情况提供评估。