Quartz.Net 做業調度後臺管理系統,基於Extjs

Quartz.Net是一個開源的、很是靈活的做業調度框架,具體使用方法和教程:http://www.cnblogs.com/shanyou/archive/2007/08/25/quartznettutorial.htmlhtml

雖然很優秀,但使用過程當中沒有找到一個合適的後臺任務配置系統,有時是CronExpress的生成,看過:http://www.cronmaker.com/ 等但都不是特別合適,最好是能參考MSSQL裏的做業調度來設計。前端

 

Extjs是最牛逼的RichClient前端開發框架,下面演示下基於Extjs+Quartz.Net開發的任務調度管理系統。web

整個系統分:後臺做業配置管理系統和Window本地服務組成數據庫

1、Quzrtz.Net後臺做業配置管理系統界面

1. 做業通知組模塊,一個做業的執行成功、失敗、異常是很是有必要通知到管理員的,而且不一樣做業須要通知的管理員也不同,全部這裏咱們單獨設置了一個通知組模塊,能夠根據須要添加若干的通知服務URL,補充完整參數便可。做業執行過程當中將會根據條件,向該URL中POST數據(做業ID,名稱,結果等),對應的URL服務接收到數據,可作具體的操做,好比發送到短信、發送到內部即時通信工具、發送到微信等等,這些須要企業內部單獨實現。安全

 

2. 最重要的就是做業配置管理了,做業配置重要的主要是:服務器

  • 做業的服務URL,參數
  • 做業的執行計劃,如何產生CronExpress
  • 做業的日誌、通知級別

 

  

 

由於CronExpress比較強大和複雜,不少比較特殊的定時計劃沒有那麼多精力去實現,因此提供了一個自定義CronExpress的功能,方便本身制定特殊的計劃,同時爲了檢驗是不是預期的計劃時間,提供「驗證表達式」功能,能夠查看最近100條的執行計劃,以便確認是正確的計劃。微信

 

3. 做業執行完成,固然還須要作相應的日誌顯示,這個比較簡單,直接將執行結果上傳至後臺系統中便可框架

 

2、Window 服務,任務執行者

任務執行者,說白了就是將服務器中配置的任務列表加入到Quartz.Net計劃列表,而後靠Quartz定時去執行服務,那麼客戶端和服務端通訊須要解決幾個問題工具

  • 作心跳線,定時檢測服務器端的做業改動(如做業刪除、做業變動了執行計劃),改動須要迅速起效,無需重啓window服務
  • 考慮後臺服務的多邊形,儘可能統一走webservice方式,不要直接讀數據庫
  • 考慮調用服務的安全性,這些定時做業的url服務只能由Quartz.Net的Window服務調用,其餘第三者調用應該屏蔽

 

後臺服務已經作了標準的webservice接口,及時不用上述的管理後臺,只須要提供相應的服務,對於window 服務也是能夠用的,管理後臺和服務作了很好的解耦。url

 

須要源碼或者技術支持的可聯繫我QQ:710782046

相關文章
相關標籤/搜索