前言:在Quartz.Net項目發佈初版後,有挺多園友去下載使用,咱們經過QQ去探討,其中項目中仍是存在必定的不完善。因此有了如今這個版本。這個版本的編寫完成其實有段時間了一直沒有放上去。如今已經同步到GitHub上了。那麼仍是說一下這個版本改進的地方吧。有些東西以前講過就不在提了,能夠移步以前的文章先了解,同時此版本提供.Net Core 版本。具體看文章底部連接。git
看一下VS中的項目結構的改變:github
能夠看出咱們移除了原先的Quartz.Net_JobBase類庫,Quartz.Net_Web更新爲JobManagerByQuaertz,同時添加了Quartz.Net_Core和Quartz.Net_Infrastructure類庫。服務器
這次改進主要提如今了Quartz.Net_Core,Quartz.Net_Infrastructure,Quartz.Net_RemoteServer這三個類庫上,如今們依次看一下相應的功能和改動。tcp
1.Quartz.Net_Core的類庫包含以下:分佈式
提供了Quartz.Net核心操做:(1)JobCommon中提供了JobKey和TriggerKey的構造(2)JobExcute爲原先的Quartz.Net_JobBase實現了Quartz.Net執行任務的接口(3)JobTriggerAbstract爲抽象類爲Quartz多任務類型提供了公用方法的封裝(4)JobTriggerImplements爲具體任務類型實現類,在第一個項目中咱們實現了Cron類型也是最爲豐富的任務類型,可是有些園友可能須要一種簡單的任務類型好比只執行一次,多長時間內執行多少次到達運行設置的結束次數或者時間自動完成不在執行,此任務類型爲Simple,若是園友想實現其餘類型 自行添加 集成抽象類便可。加密
2.Quartz.Net_Infrastructure的類庫圖以下:日誌
這個你們應該就很熟悉了,一些基礎設施。(1)HttpClientUtil和RsaCryptionUtil共同構成了http請求和請求加密基礎(2)IPUtil提供了獲取Quartz.Net_RemoteServer部署後運行得到對應機器的IP便於日誌分析(3)提供發郵件提醒功能會在任務異常,服務掛的時候進行對應郵件提醒(4)QueryableExtensionUtil提供了Queryable擴展方法會在Repository中使用。blog
3.Quartz.Net_RemoteServer類庫以下:接口
此類庫爲Quartz服務端咱們相比以前增長了(1)觀察者來觀察任務狀態變化經過執行發送更改狀態,記錄日誌,發送郵件等(2)Job的監聽器來監放任務執行後操做,Scheduler監聽來監聽節點狀態(3)QuartzServer將主程序入口的節點主要配置 提供節點的暫停,啓動,恢復等操做。其實咱們想要分佈式咱們須要更改這個屬性才能達到否則節點在任何服務器上安裝後的tcp鏈接都是127.0.0.1+你設置的端口號文檔
(由於沒有找到具體的文檔在源碼中看到設置的這個屬性)
最後Web層也是提供了操做,異常的全局日誌記錄。
GitHub地址:https://github.com/NeverGiveUpChange/TaskManagerByQuartz.Net;
https://github.com/NeverGiveUpChange/TaskManagerByQuartz.Net_.NetCore(.Net Core 版本)