job scheduling framework
Hangfire
基本說明
- Job Schedulling 的第三方元件
- open source
- 可應用於商業用途
- 支援ASP.NET系列產品
安裝及設定方式
- 使用Nuget安裝HangFire
- 新增 Startup.cs
using Hangfire;
using Microsoft.Owin;
using Owin;
using System;
using testBackgroundTask.Jobs;
[assembly: OwinStartupAttribute(typeof(testBackgroundTask.Startup))]
namespace testBackgroundTask
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
GlobalConfiguration.Configuration
.UseSqlServerStorage("Data Source=XXX;Initial Catalog=XXXX; Persist Security Info = True; User ID=sa");
//Server = devoadb05;Database=devIoTCenter;Integrated Security=SSPI;user id=sa;
//BackgroundJob.Enqueue(() => Console.WriteLine("Fire-and-forget!"));
SummaryData job1 = new SummaryData();
RecurringJob.AddOrUpdate(() => job1.Handle(), Cron.Minutely);
app.UseHangfireDashboard();
app.UseHangfireServer();
}
}
}
註:第一次執行,HangFire會自動生成Table Schema
監控報表
在網址最後加上,/hangfire/
部署注意事項
- 新增Application pool
- 指定該App pool 的 Start Mode 為 AlwaysRunning
- 新增APP站台
- 指定該站台使用該App pool
- 指定該站台的Preload Enable 為true