Hangfire项目使用
基本介绍:
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: