基本介紹:
hangfire 主要用於根據設置時間來執行任務,間隔幾分鍾執行一次,每天幾點鍾執行一次,如此執行任務。
方法:
backgroundjob.enqueue(()=>"要執行的內容");
//這是基於隊列任務執行,把要執行的內容添加到隊列中,分出一條子線程,執行任務時是不同步的。
backgroundjob.Schedule(()=>"要執行的內容",TimeSpan.FromSeconds(1))
//這是延遲任務執行,TimeSpan.FromSeconds(1)參數是表示時間,表示未來多少時間后執行任務
Recurring.AddorUpdate(()=>"要執行的內容","*/5 1-24 * * *");
//這是循環任務執行,"*/5 1-24 * * *"是CronExpression表達式,表示在1-24小時范圍內每5分鍾執行任務
http://abunchofutils.com/u/computing/cron-format-helper/(設置CronExpression表達式)
一.安裝hangfire
環境:VS2015,SQL Server
1.VS2015中上方工具欄中右擊Tools,找到“NuGet Package Manager”,右擊右側“Package Manager Console”進入以下界面:
2.安裝Hangfire
在PM>處:
PM> Install - Package Hangfire ,如下圖:
繼續安裝:Install-Package Hangfire.SqlServer (SQL數據庫)
Install-Package Microsoft.Owin.Host.SystemWeb
Install-Package MiniProfiler (job詳細分析)
二.基本設置
在Add New Item 中找到OWIN Startup class 添加,(MVC 中添加OWIN Startup class ,Web中可以添加Global文件中)
設置數據庫連接:app.UseHangfire(config=>
{
config.UseSqlServerStorage('SqlConnectionString');//SQL Server數據庫連接
})
擴展:
app.UseHangfire(config=>
{
config.UseDashboardPath("/hangfire");//更改儀表板路徑(項目上線時)
})
設置MiniProfile,在Global.asax.cs中:
Control中,MiniProfiler使用:
Hangfire Dashboard: