From 97a181aff382aff343fba67f137ce37fa85cd5f7 Mon Sep 17 00:00:00 2001 From: Cui YongXing <2835316714@qq.com> Date: Fri, 6 Sep 2024 10:06:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E6=89=BE=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskInfoServiceImpl.java | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java index 6837456..0a83b33 100644 --- a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java +++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java @@ -42,7 +42,7 @@ import static com.muyu.task.server.thread.OptimizedPrioritizedThreadPool.*; @Service public class TaskInfoServiceImpl extends ServiceImpl implements TaskInfoService { - private final Long PAGE_SIZE = 5000L; + private final Integer PAGE_SIZE = 5000; @Resource private TaskInfoMapper taskInfoMapper; @@ -247,12 +247,18 @@ public class TaskInfoServiceImpl extends ServiceImpl i String finalFieName = fieName; String finalJoint = joint; long count = data/PAGE_SIZE==0?1:data/PAGE_SIZE+1; + long pageSize; if (Weight.high.getValue().equals(weight)){ log.info("执行高级任务"); for (long i = 1; i <= count; i++) { long pageNum = (i - 1) * PAGE_SIZE; + pageSize = data - pageNum; + if (pageSize>=PAGE_SIZE){ + pageSize=PAGE_SIZE; + } + long finalPageSize = pageSize; submitHighPriorityTask(()->{ - getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, PAGE_SIZE,num); + getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, finalPageSize,num); }); } @@ -261,9 +267,13 @@ public class TaskInfoServiceImpl extends ServiceImpl i log.info("执行中级任务"); for (long i = 1; i <= count; i++) { long pageNum = (i - 1) * PAGE_SIZE; - + pageSize = data - pageNum; + if (pageSize>=PAGE_SIZE){ + pageSize=PAGE_SIZE; + } + long finalPageSize1 = pageSize; submitMediumPriorityTask(()->{ - getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, PAGE_SIZE,num); + getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, finalPageSize1,num); }); } } @@ -271,8 +281,13 @@ public class TaskInfoServiceImpl extends ServiceImpl i log.info("执行低级任务"); for (long i = 1; i <= count; i++) { long pageNum = (i - 1) * PAGE_SIZE; + pageSize = data - pageNum; + if (pageSize>=PAGE_SIZE){ + pageSize=PAGE_SIZE; + } + long finalPageSize2 = pageSize; submitLowPriorityTask(()->{ - getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, PAGE_SIZE,num); + getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map, finalPageSize2,num); }); } } @@ -283,9 +298,15 @@ public class TaskInfoServiceImpl extends ServiceImpl i OptimizedPrioritizedThreadPool.remainingTasks.set(0); for (long i = 1; i <= count; i++) { long pageNum = (i - 1) * PAGE_SIZE; + pageSize = data - pageNum; + if (pageSize>=PAGE_SIZE){ + pageSize=PAGE_SIZE; + } + long finalPageSize3 = pageSize; + System.out.println(finalPageSize3); submitEmergencyTask(()->{ try { - getString(pageNum, finalFieName, finalJoint, basicId, newBasicId, tableId, map, PAGE_SIZE, num); + getString(pageNum, finalFieName, finalJoint, basicId, newBasicId, tableId, map, finalPageSize3, num); } finally { // 减少剩余任务计数 if (OptimizedPrioritizedThreadPool.remainingTasks.decrementAndGet() == 0) {