|
|
|
@ -1328,7 +1328,6 @@ public class JobMainTask { |
|
|
|
if (j != 0) { |
|
|
|
intervalExecuteTime[0] = String.valueOf(Integer.parseInt(intervalExecuteTime[0]) + 1); |
|
|
|
} |
|
|
|
|
|
|
|
startThread(patrolTaskInfo, patrolPresetPos, patrolPresetAction, hour, minute, task, intervalExecuteTime, false); |
|
|
|
} |
|
|
|
} else if ("2".equals(task.getIntervalType())) { |
|
|
|
@ -1336,14 +1335,7 @@ public class JobMainTask { |
|
|
|
if (j != 0) { |
|
|
|
intervalExecuteTime[0] = String.valueOf(Integer.parseInt(intervalExecuteTime[0]) + 1); |
|
|
|
} |
|
|
|
startThread(patrolTaskInfo, |
|
|
|
patrolPresetPos, |
|
|
|
patrolPresetAction, |
|
|
|
hour, |
|
|
|
minute, |
|
|
|
task, |
|
|
|
intervalExecuteTime, |
|
|
|
false); |
|
|
|
startThread(patrolTaskInfo, patrolPresetPos, patrolPresetAction, hour, minute, task, intervalExecuteTime, false); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1659,15 +1651,20 @@ public class JobMainTask { |
|
|
|
Collection<String> redisKeys = redisService.keys(RedisConst.TASK_CODE_EX); |
|
|
|
for (String redisKey : redisKeys) { |
|
|
|
try { |
|
|
|
//redisKey = RedisConst.TASK_CODE + task.getTaskCode() + StringUtils.AT + DateUtils.format(DateUtils.yyyyMMddHHmmss2, task.getFixedStartTime()) |
|
|
|
String[] keywords = StringUtils.split(redisKey, StringUtils.AT); |
|
|
|
if (keywords.length == 3) { |
|
|
|
String taskCode = keywords[1]; |
|
|
|
String fixedStartTime = keywords[2]; |
|
|
|
if (isTaskSlotEmpty(taskCode)) { |
|
|
|
long currentDays = TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis()); |
|
|
|
long fixedDays = TimeUnit.MILLISECONDS.toDays(DateUtils.parse(DateUtils.yyyyMMddHHmmss2, fixedStartTime).getTime()); |
|
|
|
long currentMinutes = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis()); |
|
|
|
long fixedStartMinutes = TimeUnit.MILLISECONDS.toMinutes(DateUtils.parse(DateUtils.yyyyMMddHHmmss2, fixedStartTime).getTime()); |
|
|
|
long currentTime = System.currentTimeMillis(); |
|
|
|
long currentDays = TimeUnit.MILLISECONDS.toDays(currentTime); |
|
|
|
long currentMinutes = TimeUnit.MILLISECONDS.toMinutes(currentTime); |
|
|
|
|
|
|
|
String fixedStartTime = keywords[2]; |
|
|
|
long planTime = DateUtils.parse(DateUtils.yyyyMMddHHmmss2, fixedStartTime).getTime(); |
|
|
|
long fixedDays = TimeUnit.MILLISECONDS.toDays(planTime); |
|
|
|
long fixedStartMinutes = TimeUnit.MILLISECONDS.toMinutes(planTime); |
|
|
|
|
|
|
|
if (currentDays == fixedDays && currentMinutes >= fixedStartMinutes) { |
|
|
|
extractRedisTask(redisKey, taskCode); |
|
|
|
} |
|
|
|
|