diff --git a/tagApi-service/src/main/java/hw/tagApi/service/service/impl/KDocsServiceImpl.java b/tagApi-service/src/main/java/hw/tagApi/service/service/impl/KDocsServiceImpl.java index 11ed7bb..e0a9bf9 100644 --- a/tagApi-service/src/main/java/hw/tagApi/service/service/impl/KDocsServiceImpl.java +++ b/tagApi-service/src/main/java/hw/tagApi/service/service/impl/KDocsServiceImpl.java @@ -59,6 +59,7 @@ public class KDocsServiceImpl implements IKDocsService { // 异步执行导入任务 executorService.execute(() -> { List resList = new ArrayList<>(); + int count = 0; for (ApiContent apiContent : contentList) { long startTime = System.currentTimeMillis(); ApiContent resContent = new ApiContent(); @@ -75,12 +76,23 @@ public class KDocsServiceImpl implements IKDocsService { resContent.setFields(errorFields); } resList.add(resContent); + count++; long endTime = System.currentTimeMillis(); log.info("数据库导入完成 - ID: {}, 耗时: {}ms", apiContent.getId(), (endTime - startTime)); + + // 每处理10个数据就发送一次回调 + if (count % 10 == 0) { + log.info("已处理{}条数据,发送回调", count); + httpClientUtils.sendResultToCallback(resList, ApiConstants.CALLBACK_URL, ApiConstants.DATA_IMPORT); + resList.clear(); // 清空列表,准备下一批数据 + } } - // 发送处理结果到回调接口 - httpClientUtils.sendResultToCallback(resList, ApiConstants.CALLBACK_URL, ApiConstants.DATA_IMPORT); + // 处理剩余的数据(不足10条的部分) + if (!resList.isEmpty()) { + log.info("处理剩余{}条数据,发送回调", resList.size()); + httpClientUtils.sendResultToCallback(resList, ApiConstants.CALLBACK_URL, ApiConstants.DATA_IMPORT); + } }); return resApiContentList;