Category: Hangfire

遇到要寫小工具微服務,我現在幾乎都是用 ASP.NET Core Minimal API 開發,程式碼力求精簡扼要,以符合我愛的極簡風格。 遇到邏輯再稍微複雜一點需要定期排程作業,Hangfire 則是我的首選,除了資料庫可以記憶體 / SQLite / SQL 三種隨便切,Hangfire 內建的...

計劃在專案重用 Hangfire 跑排程之際,發現 Hangfire 對錯過排程的處理原則讓我捉摸不定,例如:若伺服器凌晨三點停機到早上八點,有個每天早上四點的排程,八點啟動時會不會補跑四點排程?在開發環境測了幾次,有時會補跑,有時不會,歸納不出規則。若無法 100% 預期行為,將重要任務交付給它讓...

ASP.NET 排程模組 - Hangfire 有個蠻酷的功能,能偵測專案是否已啟用 Serilog、NLog、Log4Net、EntLib Logging、Loupe 或 Elmah 等 Log 程式庫,一旦發現會自動寫入 Log。但大多時候 Hangfire 穩定執行,這堆用不到的 Log 便顯...

閒來無事,寫了一個 ASP.NET MVC 小專案當成休閒活動兼練手感,假想目標是在網站內嵌一小塊監看視窗,即時回報當下的 CPU % 及記憶體使用量。執行起來類似這樣: 簡單說一下做法。 要抓 CPU 與記憶體使用量,最簡單做法是用 PerformanceCounter,實作細節可參考舊文:快速...

Hangfire 自帶網頁儀表板這點深得我心,是我在專案中選用它的主要原因之一。能知道排程設定狀況、執行結果,讓系統操作體驗大大加分。基於安全考量,Hangfire Dashboard 預設只開放從本機存取,如下圖所示,非本機瀏覽時會得到 HTTP 403。 所幸,Hangfire 開放客製存取權...

網站需要開放使用者指定時間預約執行作業的功能,並需要簡單的介面查詢執行狀況。前陣子剛研究過 ASP.NET Core 的 IHostedService,但它限定 ASP.NET Core,而且查詢管理介面都需要自己刻;Quartz.NET 也蠻多人推的,API 簡潔擴充性高,但缺少現成的查詢管理介面...

想用 ASP.NET Hangfire 跑定期排程,有一個前題是「需確保網站永遠處於執行狀態」,先推薦幾篇相關文章: [ASP.NET]使用 Hangfire 來處理非同步的工作 - 亂馬客 - 點部落 [IIS]為什麼應用程式集區設定了 AlwaysRunning 沒有效果呢-...

Hangfire 是一套支援在 ASP.NET MVC 站台跑背景作業或排程的好用程式庫,可以將作業丟到背景執行、延遲執行或排定時間定期啟動,並且網頁管理介面、支援失敗重試等功能。如使用資料庫作為任務儲存區,即使網站重啟工作也不會遺失,功能十分強大。Hangfire 開源且可免費用於商業用途,付費...