package foundation.schedule;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.object.DataObject;
|
import foundation.server.Initializer;
|
|
|
public class ScheduleLoader extends Initializer {
|
|
|
@Override
|
public void startUp() throws Exception {
|
load();
|
}
|
|
public static void load() throws Exception {
|
ScheduleBucket.clear();
|
ScheduleBucket bucket = ScheduleBucket.getInstance();
|
|
//1. 加载 schedule batch
|
DataObject dataObject = DataObject.getInstance("sys_schedule");
|
EntitySet entitySet = dataObject.getTableEntitySet();
|
|
for (Entity entity: entitySet) {
|
ScheduleBatch batch = new ScheduleBatch();
|
batch.load(entity);
|
|
if (!batch.isActive()) {
|
continue;
|
}
|
|
bucket.loadOne(batch.getId(), batch);
|
}
|
|
//2. 加载 schedule job
|
dataObject = DataObject.getInstance("sys_schedule_action");
|
entitySet = dataObject.getTableEntitySet();
|
|
for (Entity entity: entitySet) {
|
ScheduleJob job = new ScheduleJob();
|
job.load(entity);
|
|
if (!job.isActive()) {
|
continue;
|
}
|
|
bucket.loadOneJob(job.getId(), job);
|
}
|
|
//3. 添加到 quartz 的scheduler中
|
ScheduleCenter center = ScheduleCenter.getInstance();
|
center.loadJobs(bucket);
|
|
center.startup();
|
}
|
|
@Override
|
public void shutDown() throws Exception {
|
|
}
|
}
|