From 6bcebb0fd044cad3f4584be4b8b433139250e3c6 Mon Sep 17 00:00:00 2001 From: HuangXin <huangxin@cmhi.chinamobile.com> Date: Tue, 2 Jun 2020 14:49:41 +0800 Subject: [PATCH] OCT REM: 1. Fix DDOSAQ-891 2. Fix DDOSAQ-892 3. Fix DDOSAQ-898 4. Fix DDOSAQ-901 5. Fix DDOSAQ-912 --- .../com/dispose/controller/DisposeTaskController.java | 2 +- .../java/com/dispose/pojo/vo/task/StartTaskReq.java | 2 +- .../java/com/dispose/service/impl/TaskServiceImpl.java | 6 +----- src/main/java/com/dispose/task/TaskManagerTask.java | 10 +++++----- .../dispose/test/controller/TaskControllerTest.java | 2 +- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/dispose/controller/DisposeTaskController.java b/src/main/java/com/dispose/controller/DisposeTaskController.java index 65f3e630..b2822ed8 100644 --- a/src/main/java/com/dispose/controller/DisposeTaskController.java +++ b/src/main/java/com/dispose/controller/DisposeTaskController.java @@ -100,7 +100,7 @@ public class DisposeTaskController { StartTaskReq reqInfo = mr.getRequestObject(StartTaskReq.class); - if (reqInfo.getId() == null) { + if (reqInfo.getId() == null || reqInfo.getId().length() == 0) { log.error("Request id params error, error:{} --> {}", mr.getMsgContent(), reqInfo.getId()); return ProtocolRespDTO.result(ErrorCode.ERR_PARAMS); } diff --git a/src/main/java/com/dispose/pojo/vo/task/StartTaskReq.java b/src/main/java/com/dispose/pojo/vo/task/StartTaskReq.java index 82bd369e..10bee16d 100644 --- a/src/main/java/com/dispose/pojo/vo/task/StartTaskReq.java +++ b/src/main/java/com/dispose/pojo/vo/task/StartTaskReq.java @@ -17,7 +17,7 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class StartTaskReq { - private Integer id; + private String id; private Integer type; private String disposeIp; private Integer disposeTime; diff --git a/src/main/java/com/dispose/service/impl/TaskServiceImpl.java b/src/main/java/com/dispose/service/impl/TaskServiceImpl.java index 1fe75675..c6313ba0 100644 --- a/src/main/java/com/dispose/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/TaskServiceImpl.java @@ -348,11 +348,7 @@ public class TaskServiceImpl implements TaskService { */ @Override public List<TaskInfoDetail> getNodeAllTask(Long devId) { - List<TaskInfoDetail> taskList = taskCacheManager - .getAllTask() - .stream() - .filter(v -> v.getDeviceId().equals(devId)) - .collect(Collectors.toList()); + List<TaskInfoDetail> taskList = disposeTaskMapper.getAllTaskByNodeDevId(devId); if (taskList.size() > 0) { log.info("The device has tasks: devId:{}, tasksNumber:{}", devId, taskList.size()); diff --git a/src/main/java/com/dispose/task/TaskManagerTask.java b/src/main/java/com/dispose/task/TaskManagerTask.java index 41dd21c2..199bd47c 100644 --- a/src/main/java/com/dispose/task/TaskManagerTask.java +++ b/src/main/java/com/dispose/task/TaskManagerTask.java @@ -40,11 +40,6 @@ public class TaskManagerTask { while (it.hasNext()) { TaskInfoDetail taskData = it.next(); - // 如果重试次数过多,停止处理该任务 - if(taskData.getRetryTimes() < GlobalVar.TASK_ERROR_MAX_RETRY) { - continue; - } - // 判断是否存在正在运行的过期的任务,如果存在则结束该任务 if(taskService.taskIsExpired(taskData) && taskService.taskIsRunning(taskData)) { log.info("Finish expired task {}:{} begin at {}", @@ -54,6 +49,11 @@ public class TaskManagerTask { continue; } + // 如果重试次数过多,停止处理该任务 + if(taskData.getRetryTimes() > GlobalVar.TASK_ERROR_MAX_RETRY) { + continue; + } + // 判断是否有新建任务,如果有的话启动新建的处置任务 if (taskData.getCurrentStatus() == DisposeTaskStatus.TASK_NEW.getCode()) { log.info("Start task {}:{} of {}", diff --git a/src/test/java/com/dispose/test/controller/TaskControllerTest.java b/src/test/java/com/dispose/test/controller/TaskControllerTest.java index a97f03b1..63eaedfc 100644 --- a/src/test/java/com/dispose/test/controller/TaskControllerTest.java +++ b/src/test/java/com/dispose/test/controller/TaskControllerTest.java @@ -124,7 +124,7 @@ public class TaskControllerTest extends InitTestEnvironment { @Test public void t1_startTask() throws Exception { StartTaskReq reqData = StartTaskReq.builder() - .id(-1) + .id("-1") .type(DeviceCapacity.CLEANUP.getCode()) .disposeIp("192.168.3.4") .disposeTime(60)