定時排程平台

2021-09-02 08:30:50 字數 2487 閱讀 5025

模組一:jobinstance

頁面控制台操作:

1、launch:手動觸發

應用場景:針對於某些任務定時表示式指定時間尚未到達之前,就可能需要進行執行。

功能說明:立即觸發任務執行一次。

後台處理:

if(this.scheduler.checkexists(jobkey))else

log.info("launch job {} ", jobkey);

2、set:任務屬性修改

應用場景:任務的服務端表示式和別名需要修改

功能說明:a、修改任務的服務端表示式,不為* * * * * * *的情況下按照服務端表示式執行的值重新註冊到quartz中。配置為* * * * * * *,則將任務從quartz中清除。

b、修改任務的別名,取代任務在服務端的唯一標識serverkey,在報警和日誌資訊展示更加易懂和靈活控制。

後台處理:

if(!stringutils.isempty(jobinstance.getservercronexpress()))else

}

public void registejob(jobinstance instance) 

jobkey instancekey = new jobkey(instance.getidentifier(), scheduler.default_group);

if(this.batchtempldatejobkeys.contains(instancekey)) already in batch template, unregistry", instancekey);

return;

} if(instance.getserverkeys() != null) failure, maybe it's not scheduled", jobkey);

}} catch (schedulerexception e)

}try failure, maybe it's not scheduled", instancekey);

}} catch (schedulerexception e1)

}else", instancekey);

}} catch (schedulerexception e1)

} jobdatamap newjobdatamap = new jobdatamap();

newjobdatamap.put(metadata.job_instance_key, instance);

jobdetail jobdetail = jobbuilder.newjob(baseremotejob.class)

.withidentity(instancekey)

.storedurably(true)

.setjobdata(newjobdatamap)

.build();

string triggerexpress = null;

if(!stringutils.isempty(instance.getservercronexpress()))else

trigger trigger = triggerbuilder.newtrigger()

.withidentity(instance.getidentifier() + "trigger", scheduler.default_group)

.forjob(jobdetail)

.withschedule(cronschedulebuilder.cronschedule(triggerexpress))

.build();

try with cron {}", instancekey, triggerexpress);

} catch (schedulerexception e)

}

public string cleanupjob(string serverkey) failure, maybe it's not scheduled", jkey);

}} catch (schedulerexception e)

}try failure, maybe it's not scheduled", jobkey);

}} catch (schedulerexception e)

}else failure, maybe it's not scheduled", jobkey);

}} catch (schedulerexception e)

} return "success";

}

3、rule:任務規則設定

應用場景:設定任務的規則,從而讓異常檢測模組來根據配置的規則檢測任務的超時情況以及檢測問題後是否傳送簡訊和傳送簡訊的號碼、簡訊級別。

功能說明:設定超時的倍數(比最近一次正常執行時間的多少倍為超時判斷的標準)、設定是否傳送簡訊、傳送簡訊的號碼、傳送簡訊的級別。

Spring Quartz定時排程

一 所需的jar包 二 定時排程的配置和使用 配置 quartz 2 建立任務類 public class quartztest 當專案啟動時,每兩分鐘 從每小時的0分0秒開始,隔兩分鐘再去執行一次,到每個小時的59分為止 就會去執行quartztest 類中在配置檔案指定的execute方法。三 ...

Spring 定時排程

一 spring提供兩種觸發器 1 每隔指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.scheduling.quartz.triggerbean 2 每到指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.sche...

Quartz定時排程

quartz定時排程 在包含了spring依賴包情況下加入quartz所依賴包 org.quartz schedulergroupid quartzartifactid 2.2.1version dependency spring用的4.0.2版本 需要注意的是quartz的版本區別 1.x系列的對...