使用Hangfire處理ASP.NET MVC/Web API長時間與排程工作
網頁通常是做為一個即時資訊交換工具,也就是一個請求-回應模式,不過在現實世界(或討論區)中經常會聽到希望可以進行長時間作業與排程作業的需求,網頁長時間作業通常是使用非同步技術來處理,但排程作業呢?這在單純的網頁作業流程中比較難處理,通常會勸說交給後端SQL Server排程處理或使用Windows工作排程器或寫成Windows Service來解決。
廢話那麼多,反正就是傳統網頁要處理長時間工作與排程工作都要額外花費不少心思,最近剛好有這方面的需求,試玩國外火紅Hangfire,不試還好,試了…
Hangfire - 射後不理、延遲、定時
從Hangfire官網可以看到最明顯的三個功能:Fire-and-forget tasks、Delayed tasks、Recurring tasks。