当前任务运维中心支持单个任务补数据批量补数据功能。单个任务补数据功能可在任务列表针对具体任务进行补数据操作。补数据实例运维页面主要提供批量补数据功能。
POPO20230619-112713.jpg

说明:
1. 涉及任务数的第一个数字表示需要补数据的任务总数,括号中的数字表示源头任务数量。
2. 实例完成率表示计划补数据的实例总数的完成率(直接运行成功或最近一次重跑成功即算成功)。
3. 补数据任务支持暂停,补数据总时长会计算暂停的时间。
4. 补数据支持复用,用于快速选择需要补数据的任务与节点。系统会重新确认源头任务,再根据源头任务的最新依赖关系确认上下游任务。支持手动重新选择。

使用准备

功能使用场景:

  • 当任务新建后希望对历史数据进行加工,可通过补数据功能选择历史某个时间段来执行任务;
  • 当任务某个时间段内数据有问题或者任务异常,可通过补数据对历史异常的数据或任务进行重新生成实例并执行,达到修复历史数据的目的。

操作权限说明

补数据操作需要具备以下两个权限:

  • 项目中心功能权限模块中指定任务并勾选补数据权限,授权后才可进行补数据操作;

  • 任务运维中心 - 补数据配置管理中进行补数据的相关设置,包括补数据时间窗口控制补数据任务最大并发数上限补数据审批控制以及补数据审批策略

功能使用流程

批量补数据共包含三个步骤:选择源头任务确定下游任务以及配置补数据设置

选择源头任务

补数据实例运维页面单击批量补数据按钮,进入配置界面。在配置页面中,首先要选择源头任务,选中一个或多个任务后移入右边已选任务框中,也可以通过批量导入功能添加任务。源头任务和已选任务都支持通过负责人和任务所属基线进行筛选。

任务选择完成后,可点击下一步,进入下一环节。

说明: 此处支持任务批量导入功能,单击批量导入按钮,输入任务名称,分隔符支持空格、换行、“,”、“;”,最多500个。对于任务组内任务,按照任务名称(任务组名称)的格式进行填写,例如my_task1(task_group_1)。

确定上下游任务

确定上下游任务页面,用户可根据实际需求勾选需要补数据的上下游任务,支持流表视图列表视图两种展示方式。

  • 流程视图

  • 列表视图

    此处,深度表示当前任务与上游任务之间的层数关系,1表示为直接相连的下游节点,2表示下游第2层节点。

此外,在补数据时支持勾选下游任务依赖的具体节点,页面上会展示下游每个任务已勾选的节点数和总节点数,点击可以自定义勾选节点。

点击自定义节点,可在弹出的选择任务节点页面中进行节点的勾选。

对于使用循环运行的嵌套流节点,补数据时支持对嵌套流节点指定循环参数。

对于一个部门或者企业作为一个租户,可能存在多个项目,而不同项目之间可能存在依赖。当某个任务需要补数据时,在有权限的情况下可以对下游跨项目的任务一同补数据,完成整个链路的数据修复。

注意:
1.针对不同调度周期的下游,确定是否需要选择执行补数据。比如上游是天调度任务,存在下游是小时调度任务,是否需要对小时任务执行补数据等。
2.针对有配置调度日历的任务(包括下游任务),在补数据时仅会对计划执行时间范围内且调度日历中已配置“调度日”的日期才会生成实例,不在调度日的日期不会生成实例。

配置补数据设置

配置补数据设置包括三块配置内容:基础设置执行设置以及通知设置

1)基础设置

基础设置包括补数据任务名称计划执行时间范围周期(有条件)和最多跑一次(有条件),可通过日历设定补数据时间范围。此外,计划执行时间范围还支持通过今日截止此刻昨日两个选项快速设置补昨日数据和补今日数据。

“周期”配置项:对于已调度的任务进行补数据时,支持设置“周期”。需要注意的是批量补数据不支持周期设置,调度周期仍然为线上任务的调度周期。在创建补数据任务时,支持添加多段计划执行时间范围,用于解决想补多段不连续时间的场景,目前最多支持添加20段计划执行时间,不同计划执行时间范围内时间不允许重叠。

“最多跑一次”配置项: 任务补数据时,如果任务的调度配置是1天会执行多次,则在原本的补数据逻辑中,1天就会生成多个实例并执行多次。但是某些场景下,该任务每一天仅运行1次即可。 在单任务补数据或批量补数据时,满足下方所列的1种场景即可进行“最多跑一次”设置:

  • a)补数据时选择了多个任务(不区分源头任务还是上下游任务)
  • b)仅选择一个已调度的任务补数据,且调度类型设置不是常规设置

目前“最多跑一次”支持不生效、执行每天最早实例、执行每天最晚实例等3种设置。

针对一天多次调度的场景,通过该配置项,可实现每天最多仅执行1次的效果。比如flow1为Crontab调度,在10点、15点、20点执行,设置为“执行每天最早实例”,则该任务仅在10点执行一次,设置为“执行每天最晚实例”,则该任务仅在20点执行一次;

特别的,如果计算得到的最后一个实例,不在有效补数据时间窗口内,比如前述例子中,补数据时计划执行时间范围的结束时间为到9点,则该天实例不会执行。

在补数据的最后一步,如果当前补数据场景符合最多跑一次的设置条件,则会显示“最多跑一次”配置项。

2)执行设置

执行设置包括执行方式跨周期自依赖补数据时间顺序并发设置队列高优先级自动重试失败设置以及自定义参数

  • 执行方式:支持立即执行延后执行两种方式,默认为立即执行,点击延后执行,可设置开始执行时间。

  • 跨周期自依赖开启表示某任务的实例依赖上一周期实例成功后,才可运行;关闭表示某任务的实例不依赖上一周期,各周期间实例相互独立。开启后不支持补数据根据时间倒序。

  • 补数据时间顺序:当跨周期自依赖处于关闭状态,支持正序倒序两种方式。正序表示补数据日期从最早开始执行;倒序表示补数据日期从最近开始执行。

  • 并发设置:表示当连续补多个周期的数据时,同时满足并发数,则可以同时运行多个周期的实例,这样可以提升补数据的效率,当然也会消耗更多的资源。

点击展开更多设置,可以继续配置更多执行参数。

  • 队列:默认为任务自身的队列,可切换选择其他具有权限的队列。
  • 高优先级:支持开启关闭两种状态。开启后在动态资源分配中将抢占更多资源。
  • 自动重试:开启后支持重试次数重试间隔的设置。
  • 失败设置:同在离线开发中进行任务设置一样,支持三种模式:仅完成执行中的节点继续完成其他分支节点以及停止所有节点
  • 自定义参数设置:支持自定义参数的设置,需要注意的是参数可能存在重复设置的问题。节点内单独设置的参数优先级最高,此处配置的参数次之,任务内引用参数组的最低。

3)通知设置

通知设置包括通知条件通知对象以及通知方式

  • 通知条件:包括补数据任务成功补数据任务终止以及实例出现失败三种条件类型。
  • 通知对象:包括当前用户任务负责人其他报警组。当选择其他时,可输入邮箱地址,通过","进行分隔。
  • 通知方式:支持邮件、短信、POPO等。

Snipaste_2023-07-10_15-50-52.png

注意:相同时间段补数据任务只能运行一个。即对于同一个任务,在同一时间段内只能运行一个补数据任务,此时运行相同的补数据任务将会处于等待状态。