数据同步任务运行逻辑说明
1. 概述
本文说明数据同步任务的实例运行逻辑与策略。
2. 说明
2.1 实例运行流程与状态
实例运行流程请参见下图:

1)手动触发或者调度触发,创建实例:
- 实例创建成功,可以在运行记录列表中查看。
- 实例创建失败,视为系统问题。
2)实例创建成功:
- 资源充足且该任务没有其他实例在运行中时,将直接进入运行(包括构建的校验和实际运行)。
- 资源不充足或者该任务有其他实例在运行中时,进入排队中状态,排到后进入运行。
- 排队中状态与运行中状态可以手动中止。
2.2 运行策略
2.2.1 定时调度拉起运行
如果同步任务正在运行中,被定时调度拉起,就会开始排队,只允许有一个最新的在排队,中间的会被跳过。
假设同步任务A,每小时执行一次:
时刻 | 实例产生 | 实例状态 |
0点钟 | 定时调度创建实例A0(0点的任务配置) | A0开始运行 |
1点钟 | 定时调度创建实例A1(1点的任务配置) | A0还在正在运行中,A1在排队 |
2点钟 | 定时调度创建实例A2(2点的任务配置) | A0还在正在运行中,A1被跳过,A2开始排队 |
3点钟 | 定时调度创建实例A3(3点的任务配置) | A0还在正在运行中,A2被跳过,A3开始排队 |

2.2.2 手动运行
1)手动执行时可选择是否传播下游。详情请参见:数据同步任务运维

2)如果任务已经开始运行,和定时调度拉起运行的逻辑一样,进入排队,如果有最新的实例构建,本次跳过。
3)源端为 SAAS 时,支持自定义数据同步起点。

2.2.3 增量读取量
增量读取时,从当前游标位置开始,到运行时发起同步的时间对应的数据最新位置结束。
也就是说,如果1点调度,进入排队,2点开始运行发起同步,4点结束,2点到4点新产生的数据不会被同步(这么做是为了避免来源端源源不断的生产数据导致任务一直运行)。
如果是 SaaS 数据源,增量读取量由 DM 控制,逻辑一致。

400-111-0890
在线咨询