修复任务并发执行次数

master
LiZhong 1 year ago
parent 1c3ba1028a
commit 6083a85e34

@ -966,17 +966,22 @@ public class OcrIdentifyServiceImpl extends ServiceImpl<OcrIdentifyMapper, OcrId
List<TaskModel> waitingTaskList = taskList.stream().filter(t -> t.getTaskStatus().equals("0")).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(waitingTaskList)) {
while (waitingTaskList.size() > 0) {
//取第一个任务
TaskModel taskModel = waitingTaskList.get(0);
waitingTaskList.get(0).setTaskStatus("1");
//刷新redis执行中
flushTask(taskModel.getTaskId(), 1);
//执行
executeTaskp(taskModel);
//刷新已知任务
taskList = getTaskList();
//刷新待运行任务
waitingTaskList = taskList.stream().filter(t -> t.getTaskStatus().equals("0")).collect(Collectors.toList());
for (int i = 0; i < 4; i++) {
if (i>waitingTaskList.size()-1){
continue;
}
//取第一个任务
TaskModel taskModel = waitingTaskList.get(i);
waitingTaskList.get(i).setTaskStatus("1");
//刷新redis执行中
flushTask(taskModel.getTaskId(), 1);
//执行
executeTaskp(taskModel);
//刷新已知任务
taskList = getTaskList();
//刷新待运行任务
waitingTaskList = taskList.stream().filter(t -> t.getTaskStatus().equals("0")).collect(Collectors.toList());
}
}
}
log.error("任务已全部执行");

Loading…
Cancel
Save