網站設計公司是怎樣解決利用job解決程序任務調度的?深圳網站設計公司結合多年網站開發(fā)設計經驗認為任務調度Job,Job類似于數據庫中的作業(yè),多用于實現定時執(zhí)行任務。適用場景主要包括定時輪詢數據庫同步、定時處理數據和定時郵件通知等。我們的Job分為操作系統級別定時任務WinJob和HttpJob,其中,WinJob使用開源的任務調度框架Quartz.NET+ZooKeeper實現,HttpJob的服務端是自主開發(fā)實現的,可以直接定時調用計劃任務(如微服務)。
網站設計關于Win Job的介紹
WinJob使用Quartz.NET+ZooKeeper來實現,Quartz.NET實現調度,ZooKeeper使用MasterElection來實現高可用,解決單點故障問題。ZooKeeper后面會單獨介紹,這里重點介紹Quartz.NET框架的使用。Quartz.NET是一個全功能的開源任務調度框架,通過簡單的配置就可以實現強大的任務調度功能,使開發(fā)人員不用過多關注任務的調度,只需關注項目的業(yè)務邏輯。
1.使用任務調度框架的價值
(1)提高了開發(fā)效率:開發(fā)人員只需要編寫業(yè)務代碼,而具體的任務調度只需要通過配置就可以實現。
(2)提高了軟件的可靠性:同一應用的多個任務之間可以很好地隔離起來,互不影響。
(3)降低了開發(fā)人員成本和開發(fā)復雜度:開發(fā)人員不需要對線程和Timer很了解,就能實現一個強大的執(zhí)行計劃應用。
(4)容易遷移:只需實現Quartz.IJob接口,內部調用一次業(yè)務邏輯的入口即可。
(5)容易擴展:新業(yè)務只需增加配置即可。
網站設計基于Quartz.NET實現Job調度的方法
在后端服務聲明實例化一個調度器,在啟動服務的時候啟動調度器,相應的代碼如下所示。
創(chuàng)建相應的任務和觸發(fā)器,之后把任務和關聯的觸發(fā)器加入之前聲明的調度器CurrentSched,相應的代碼如下所示。
在業(yè)務邏輯層繼承IJob接口,并實現Execute方法,在該方法內實現需要調度的業(yè)務邏輯,相應的代碼如下所示。
好了,網站設計公司本文關于“怎樣解決利用job解決程序任務調度的?”的相關網站框架布局設計知識就分享到這里,謝謝關注,博納網絡編輯整理。