# 拆分时间进行分布式调用

场景

某段时间内某平台的数据量太大,单机执行效率慢。

关于如何获取单据列表参考分页读取单据

分析

根据页码进行创建分布式消息无法保证数据的完整性,这里可以使用拆分时间的方式解决,把一个时间范围的任务拆分成若干个小时间范围的小任务;然后交由集群去多进程、多线程执行可以明显提高数据读取的效率。

假设开始时间:2022-03-01 00:00:00 结束时间:2022-03-10 00:00:00 内有5W单,约定一个任务最多执行1000单

则可以拆分成如下两个任务:

开始时间:2022-03-01 00:00:00 结束时间:2022-03-05 00:00:00 单量1.8W

开始时间:2022-03-05 00:00:00 结束时间:2022-03-10 00:00:00 单量3.2W

继续向下拆

开始时间:2022-03-01 00:00:00 结束时间:2022-03-02 00:00:00 单量2000

开始时间:2022-03-02 00:00:00 结束时间:2022-03-04 00:00:00 单量1800

......

方案

# 开始时间结束时间二分法创建任务

在获取订单列表任务中添加解析后插件,插件名为"开始时间结束时间二分法创建任务" 配置如下: