iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0

Hi all, 來到第26天 到目前為止,已經把專案的商業邏輯、檔案永久儲存、資料快取以及容器化做得差不多了,接著就來讓這個區塊練能夠自行計算區塊吧!

首先,要讓專案能夠自動地定時產生區塊,勢必要有個 scheduler 來做定時打api 的作業,這個時候就可以搬出一個 scheduler 的應用框架: HangFire

What’s HangFire

HangFire 是一個用於 .NET Library,目的是在簡化和管理後台工作任務(background jobs)的執行。它允許開發人員在應用程序中簡單地調度和執行長時間運行的任務,例如電子郵件發送、數據處理或報表生成,而不需要阻塞主線程或用戶請求。

HangFire 的特點

  1. 多種任務類型
    • Fire-and-Forget(即時任務):任務在設定後立即執行,通常用於不需要返回結果的操作。
    • 延遲任務:任務會在指定的時間延遲後執行。
    • 重複任務:週期性地執行任務,例如每隔一段時間運行一次。
    • 連續任務:在一個任務完成後執行的任務。
  2. 可靠性:HangFire 提供了自動重試機制。如果一個任務執行失敗,它會根據配置自動重試指定次數。
  3. 儀表板:HangFire 提供了一個功能強大的管理儀表板,用於監控和管理所有後台任務。開發人員可以查看任務的狀態(已排隊、正在執行、失敗等),手動重試或刪除任務。

使用場景

  • 處理長時間運行的任務,而不影響應用程序的響應速度。
  • 執行需要在特定時間運行的計劃任務。
  • 用於事件驅動的背景處理,例如處理用戶註冊後的歡迎郵件。
  • 定期清理或數據庫備份任務。

Conclusion

今天主要先稍微認識一下 HangFire ,明天就來動手裝一下吧


上一篇
Day 25 Apply Redis SDK
下一篇
Day27 Hangfire DashBoard
系列文
Side-Project:: 為自己打造個可編輯的區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言