场景:现在有一批任务需要执行,每6个小时执行一次,比如,这一批任务从6:00开始执行,每个任务的开始执行的时间点是6:00 + 一个随机时间(大约1-2小时之间),这种场景如何实现呀?或者用到哪些技术
换句话说,如何在j定时任务中设置定时任务
如果是单机你就用java自带的TimerTask就行了
Timer endTimer = new Timer();
TimerTask endTask = new TimerTask() {
@Override
public void run() {
}
};
endTimer.schedule(endTask, new Date());
new Date()就是开始时间,根据你的业务应该你要改成6点+随机数 ,如果你要每天的话结合下spring自带的task,应该也行吧,你可以试试
timer + TimerTask可以在某一点启动之后,间隔固定时间循环执行,随机时间比较难搞
每个任务在执行方法时,先获取一个大于60,小于120的随机数,把这个随机数作为暂停时间,暂停一下,然后再执行业务代码。。。
写一个主定时任务Task、每天6::0执行、然后定时任务内容为添加定时任务、把你需要的这批任务添加到定时任务里面、定时任务的执行时间在6:00的基础上、随机数加