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);
return nextValidTime;
} 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;
}

@ -110,7 +110,7 @@ public class JobThread extends Thread{
TriggerParam triggerParam = null;
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);
if (triggerParam!=null) {
running = true;
@ -206,7 +206,7 @@ public class JobThread extends Thread{
if(triggerParam != null) {
// callback handler info
if (!toStop) {
// commonm
// common
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(
triggerParam.getLogId(),
triggerParam.getLogDateTime(),

Loading…
Cancel
Save