第一代定時任務(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)友評論