详细介绍:MyData 基于 Web API 的数据集成平台
部署文档:用 Docker 部署 MyData
使用手册:MyData 使用手册
交流 Q 群:430089673
本篇基于 数据集成之任务流程 介绍任务分批传输的使用场景和配置操作。
mydata 使用 API 方式集成数据,当一次请求或响应 传输数据量较多时 可能无法完成、或容易对服务端造成影响,因此需要分为多次处理;
例如 常见的分页查询、导入大量数据时分批处理、集成对接时的全量同步等;
业务系统与 mydata 集成时,在提供数据
和消费数据
这两个方向上分别实现分批传输;
由 mydata 调用应用的 API 获取数据,通过配置分批参数 实现一次任务内多次调用 API 获取完整数据,有以下两种基本的配置模式:
固定参数
size=10 、递增参数
current 从 1 开始每次递增 1 、每次间隔
1 秒的任务;递增参数
start 从 1 开始每次递增 100 、递增参数
end 从 100 开始每次递增 100 、每次间隔
1 秒的任务;执行过程如下代码,要点有:
通过 do-while 结构 兼容单次和分批;
用lastProduceData
记录上一次数据,用于和本次对比数据,若重复 则结束,避免死循环(理论上很少有 2 次完全一样的数据);
若分批有异常,则复用任务 3 次出错 自动结束并发送邮件通知的功能;
执行完一次后,自动计算递增参数值;
由 mydata 通过 API 向应用发送数据,通过配置分批参数 限制每次向 API 发送的数据量,从而减少数据查询量和请求处理时间;
如下图,配置了分批数量
为 1000 的任务,分批参数为选填,mydata 将按 1000 为限制查询符合条件的数据,通过 API 请求发送给应用;
执行过程如下代码,要点有: