Zeus-Master-週期性排程策略實現
上文提到Zeus使用了開源的quartz來幫助其實現定時排程,但是展示給用的api有兩種,一種就是quartz原生的類似cron表示式的設定,還有一種是每小時,每天這種設定,但是後臺實現均是轉換成quartz的api實現。
來看原始碼:
CronTrigger trigger = new CronTrigger(jd.getId(), "zeus",
jd.getCronExpression());
detail = new JobDetail(jd.getId(), "zeus", TimerJob.class);
detail.getJobDataMap().put("jobId", jd.getId());
detail.getJobDataMap().put("dispatcher",
context.getDispatcher());
context.getScheduler().scheduleJob(detail, trigger);
對於quartz不熟悉的同學可以 檢視quartz的官網文件。
quartz中api需要一個 CronTrigger 觸發器用來定時,還需要job來執行。Zeus寫了一個通用的job,每個觸發器都觸發相同的任務,不同的是JobDetail內設定了需要觸發的不同宙斯任務,以及分發任務的事件dispatcher;
public static class TimerJob implements Job {
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
String jobId = context.getJobDetail().getJobDataMap()
.getString("jobId");
Dispatcher dispatcher = (Dispatcher) context.getJobDetail()
.getJobDataMap().get("dispatcher");
ScheduleTriggerEvent ste = new ScheduleTriggerEvent(jobId);
dispatcher.forwardEvent(ste);
}
}
相關文章
- java週期排程幾種實現Java
- Flink排程之排程器、排程策略、排程模式模式
- PostgreSQL技術週刊第12期:PostgreSQL時空資料排程實踐SQL
- linux系統中的排程週期任務:cronLinux
- Linux程式排程策略Linux
- 容器化RDS|排程策略
- 實現一個分散式排程系統-LoadBalance和Ha策略分散式
- 排程器簡介,以及Linux的排程策略Linux
- 【大資料開發套件排程配置實踐】——不同週期任務依賴配置大資料套件
- 技術解讀 | SD-WAN的多樣性策略排程
- Quartz排程系統入門和排程高可用實現方案quartz
- haipproxy核心校驗和排程策略AI
- 詳解 Vue 生命週期實現Vue
- OS_程式排程:C++實現C++
- Kubernetes 排程器實現初探
- Linux程式排程核心實現分析Linux
- JavaScript實現自定義的生命週期JavaScript
- Java實現生命週期管理機制Java
- 第 12 期 golang 中 goroutine 的排程Golang
- 簡版排程中心搭建及實現思路
- 第三章 Goroutine排程策略(16)Go
- 【I/O scheduler】Linux的磁碟排程策略Linux
- VPD策略實現行級安全性
- SAP Fiori 頁面的週期性動態重新整理功能的實現步驟
- javaweb使用監聽器實現定時週期性執行任務的功能JavaWeb
- ElasticSearch生命週期管理-索引策略配置與操作Elasticsearch索引
- Redis過期策略及實現原理-Redis面試題Redis面試題
- celery 與 flask 實現非同步任務排程Flask非同步
- vue[原始碼]生命週期鉤子的實現Vue原始碼
- 實戰儲存過程排程過程儲存過程
- golang實現併發爬蟲三(用佇列排程器實現)Golang爬蟲佇列
- ELK日誌保留7天-索引生命週期策略索引
- 實戰Docker容器排程Docker
- 100行程式碼實現React核心排程功能行程React
- 在Dataphin 排程運維時,針對週期任務,我們需要配置哪些關鍵資訊?運維
- 【數量技術宅|量化投資策略系列分享】多週期共振交易策略
- 作業系統(Linux)--按優先數排程演算法實現處理器排程作業系統Linux演算法
- 實測Vue生命週期Vue