/Scheduler

Host Quartz.NET in ASP.NET Core with SignalR Dashboard

Primary LanguageC#

將 Quartz.Net 排程作業 Hosted 託管於 ASP.NET Core 中,並以 SignalR 實現 Dashboard 頁面

當應用網站有一些外部資料需要定時獲得,或是有些內部耗時作業需要批次逐筆消化時,都會需要排程作業來處理,而比較精簡的方式就是將排程作業 Host 在 .NET Core 應用程式上運行,本專案將 Quartz.NET 排程作業 Hosted 託管於 ASP.NET Core 中作為範例;解決了運行問題後所面臨到的就是維運,要如何讓維運人員可以清楚明瞭的掌握目前各個排程作業的執行狀況,這就必須提供一個即時性的 Dashboard 頁面來呈現相關資訊,這部分可透過 SignalR 技術讓 Dashboard 跟後端程式保持一個相互即時主動的溝通渠道,以此避免以往前端定期向後端 Pulling 資料所造成的網路資訊消耗。

詳細說明請參考筆者部落格文章內容


a. 狀態管理頁面



b. 點下 Interrupt 強制中斷作業



c. 點下 Trigger 觸發作業執行



d. 關閉排程器及啟動排程器