Hi all, 來到第26天 到目前為止,已經把專案的商業邏輯、檔案永久儲存、資料快取以及容器化做得差不多了,接著就來讓這個區塊練能夠自行計算區塊吧!
首先,要讓專案能夠自動地定時產生區塊,勢必要有個 scheduler 來做定時打api 的作業,這個時候就可以搬出一個 scheduler 的應用框架: HangFire
What’s HangFire
HangFire 是一個用於 .NET Library,目的是在簡化和管理後台工作任務(background jobs)的執行。它允許開發人員在應用程序中簡單地調度和執行長時間運行的任務,例如電子郵件發送、數據處理或報表生成,而不需要阻塞主線程或用戶請求。
HangFire 的特點
-
多種任務類型:
-
Fire-and-Forget(即時任務):任務在設定後立即執行,通常用於不需要返回結果的操作。
-
延遲任務:任務會在指定的時間延遲後執行。
-
重複任務:週期性地執行任務,例如每隔一段時間運行一次。
-
連續任務:在一個任務完成後執行的任務。
-
可靠性:HangFire 提供了自動重試機制。如果一個任務執行失敗,它會根據配置自動重試指定次數。
-
儀表板:HangFire 提供了一個功能強大的管理儀表板,用於監控和管理所有後台任務。開發人員可以查看任務的狀態(已排隊、正在執行、失敗等),手動重試或刪除任務。
使用場景
- 處理長時間運行的任務,而不影響應用程序的響應速度。
- 執行需要在特定時間運行的計劃任務。
- 用於事件驅動的背景處理,例如處理用戶註冊後的歡迎郵件。
- 定期清理或數據庫備份任務。
Conclusion
今天主要先稍微認識一下 HangFire ,明天就來動手裝一下吧