LBPL
這一個基于Asp.net、 quartz.net 快速開發定時服務的插件化項目
由于在實際項目開發中需要做定時服務的操作,大體上可以了解為:需要動态化監控定時任務的排程系統。
為了實作快速開發、簡單明了完成一個服務,不再繁瑣的進行各種代碼耦合度強的操作,設計了一個以暫時以quartz.net 為服務載體,插件化開發的模式。
github位址:https://github.com/linbin524/LBPL
由于工作比較忙,暫時更新部分,後續會将相關的開發文檔更新。
主要開發流程
1、 開發人員 建立類庫 類庫名稱格式 LBPL.PlugIn.{xxxxx}ServicePlugin
2、引用LBPL.PlugIn.Integration、LBPL.PlugIn.Model 兩個類庫
3、執行個體化三個類分别繼承:ICronConfig、IJobLibray、IJobsConfig 三個接口
3.1 CronConfig 這個類用于配置時間表達式 (目前配置在主項目的AppSetting中,後期會單獨抽離)
3.2 JobLibray 服務資源池 用于動态加載 本服務插件類庫中 定時任務
3.3 JobsConfig 具體Quartz.net 定時服務排程
4、完成以上操作,自動編譯生dll,通過自定義操作(簡單的選擇dll) 調用 倉儲方法
AddQuartzServer(IJobDetail jobDetail, Quartz.Collection.HashSet triggerList, out string error, bool IsRun = true)
就可以實作一個簡單服務的自動調用了
5、監控各種服務狀态
調用該方法,可以擷取所有服務狀态
List GetALLQuartzServer();
筆者原創!如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”将是我最大的寫作動力!歡迎各位轉載,轉載請添加原部落格連接配接,否則保留追究法律責任的權利,謝謝!
YC.Boilerplate 快速開發架構交流,請加群:1060819005
區塊鍊交流請加QQ群:538327407(已滿),群2:135019400.
我的部落格位址:http://www.cnblogs.com/linbin524/