第一代定時任務(wù)系統(tǒng)上線用了大概半年之后,就被我們厭倦了。于是就規(guī)劃了第二代定時任務(wù)系統(tǒng)。
第二代定時任務(wù)系統(tǒng)
第二代調(diào)度系統(tǒng)主要解決的是,避免每次修改定時任務(wù)的執(zhí)行時間都需要重新啟動整個項目。另外也可支持單獨重新調(diào)度單個定時任務(wù)。
我們做了一個請求入口,當(dāng)更新了庫表里面的數(shù)據(jù)之后,重新請求一下特定的url就會自動重新加載定時任務(wù)。
使用scheduler刪除定時任務(wù)
public void reScheduler() throws Exception { // 取消現(xiàn)有的任務(wù) String[] jobNames = quartzUtil.getJobNames(); if (null != jobNames && jobNames.length > 0) { for (String jobName : jobNames) { logger.info("----開始移除任務(wù):" + jobName); quartzUtil.cancelJob(jobName); logger.info("----成功移除任務(wù):" + jobName); } } logger.info("現(xiàn)有任務(wù)已全部取消"); this.initScheduler(); }
網(wǎng)友評論