fix(admin): 修复定时任务执行时间计算错误

- 修正了 JobScheduleHelper 类中的时间计算逻辑,使用 Long 类型替代 Integer 类型
- 避免了因数据类型溢出导致的时间计算错误
- 优化了 JobThread 类中的注释
3.1.0-release
xuxueli 5 months ago
commit 386021a3f4

@ -372,7 +372,7 @@ public class JobScheduleHelper {
Date nextValidTime = new CronExpression(jobInfo.getScheduleConf()).getNextValidTimeAfter(fromTime); Date nextValidTime = new CronExpression(jobInfo.getScheduleConf()).getNextValidTimeAfter(fromTime);
return nextValidTime; return nextValidTime;
} else if (ScheduleTypeEnum.FIX_RATE == scheduleTypeEnum /*|| ScheduleTypeEnum.FIX_DELAY == scheduleTypeEnum*/) { } else if (ScheduleTypeEnum.FIX_RATE == scheduleTypeEnum /*|| ScheduleTypeEnum.FIX_DELAY == scheduleTypeEnum*/) {
return new Date(fromTime.getTime() + Integer.valueOf(jobInfo.getScheduleConf())*1000 ); return new Date(fromTime.getTime() + Long.parseLong(jobInfo.getScheduleConf()) * 1000L);
} }
return null; return null;
} }

@ -110,7 +110,7 @@ public class JobThread extends Thread{
TriggerParam triggerParam = null; TriggerParam triggerParam = null;
try { try {
// to check toStop signal, we need cycle, so wo cannot use queue.take(), instand of poll(timeout) // to check toStop signal, we need cycle, so we cannot use queue.take(), instead of poll(timeout)
triggerParam = triggerQueue.poll(3L, TimeUnit.SECONDS); triggerParam = triggerQueue.poll(3L, TimeUnit.SECONDS);
if (triggerParam!=null) { if (triggerParam!=null) {
running = true; running = true;
@ -206,7 +206,7 @@ public class JobThread extends Thread{
if(triggerParam != null) { if(triggerParam != null) {
// callback handler info // callback handler info
if (!toStop) { if (!toStop) {
// commonm // common
TriggerCallbackThread.pushCallBack(new HandleCallbackParam( TriggerCallbackThread.pushCallBack(new HandleCallbackParam(
triggerParam.getLogId(), triggerParam.getLogId(),
triggerParam.getLogDateTime(), triggerParam.getLogDateTime(),

Loading…
Cancel
Save