天天看點

LBPL--基于Asp.net、 quartz.net 快速開發定時服務的插件化項目

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/