背景
公司有自己的任务调度系统,但是当前模块又设计自己的调度,他的级别是按天或者小时级别的,且任务非常多,如果注册到公司的调度系统上来看的话,不好管理,且没有业务语义,不方便问题排查。
实现方案
简述实现方案是:通过公司调度系统进行调度服务,服务自身建立子调度逻辑。
假设任务是小时级别调度,那么云每小时调度一次:
var gapHour=1;
var localDateTime=LocalDateTime.now();
var maxDateTime=localDateTime.plusHour(gapHour);
var taskList = select * from task where trigger_next_time <= maxDateTime
for(task:taskList){
doTask(task);
updateTaskNextTime(task);
}