# 拆分时间进行分布式调用
场景
某段时间内某平台的数据量太大,单机执行效率慢。
关于如何获取单据列表参考分页读取单据
分析
根据页码进行创建分布式消息无法保证数据的完整性,这里可以使用拆分时间的方式解决,把一个时间范围的任务拆分成若干个小时间范围的小任务;然后交由集群去多进程、多线程执行可以明显提高数据读取的效率。
假设开始时间: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
......
方案
# 开始时间结束时间二分法创建任务
在获取订单列表任务中添加解析后插件,插件名为"开始时间结束时间二分法创建任务" 配置如下:
