零点执行
parent
0d5010107d
commit
329746439d
|
|
@ -3,10 +3,13 @@ package com.ljsd.jieling.thread;
|
|||
import com.ljsd.jieling.thread.task.DailyOfZeroTask;
|
||||
import com.ljsd.jieling.thread.task.MinuteTask;
|
||||
import com.ljsd.jieling.thread.task.PlatConfigureTask;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
@ -65,7 +68,7 @@ public class ThreadManager {
|
|||
|
||||
// testTask 已秒为单位 延迟10s, 间隔30s为周期执行
|
||||
int delayForMinute = 60 - (now%60);
|
||||
int delayForDay = 3600*24 - (now%(3600*24));
|
||||
int delayForDay = getDiffZeroTimeSecond(now);
|
||||
scheduledExecutor.scheduleAtFixedRate(platConfigureTask, 10, PlatConfigureTask.SLEEP_INTEVAL_TIME, TimeUnit.SECONDS);
|
||||
scheduledExecutor.scheduleAtFixedRate(new MinuteTask(), delayForMinute, 60, TimeUnit.SECONDS);
|
||||
scheduledExecutor.scheduleAtFixedRate(new DailyOfZeroTask(), delayForDay, 3600*24, TimeUnit.SECONDS);
|
||||
|
|
@ -75,4 +78,15 @@ public class ThreadManager {
|
|||
public ScheduledThreadPoolExecutor getScheduledExecutor() {
|
||||
return scheduledExecutor;
|
||||
}
|
||||
|
||||
private int getDiffZeroTimeSecond(int now){
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR) + 1);
|
||||
calendar.set(Calendar.MINUTE,0);
|
||||
calendar.set(Calendar.MILLISECOND,0);
|
||||
calendar.set(Calendar.HOUR,0);
|
||||
calendar.set(Calendar.SECOND,0);
|
||||
long time = calendar.getTime().getTime();
|
||||
return (int)(time / 1000) - now;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue