Hangfire是一個綜合的后台工作管理者。你可以將Hangfire集成到ABP中,這樣就可以不使用默認的后台工作管理者了。但你仍然可以為Hangfire使用相同的后台工作API。這樣,你的代碼就獨立於Hangfire了,但是,如果你喜歡的話,也可以直接使用 Hangfire的API。
首先,將Abp.HangFirenuget包安裝到你的項目中,然后你可以為Hangfire安裝任何存儲。最常用的一個存儲室SQL Server存儲(查看 Hangfire.SqlServer nuget包)。安裝完這些nuget包之后,你才可以在ABP中配置Hangfire,如下所示:
[DependsOn(typeof (AbpHangfireModule))]
public class MyProjectWebModule : AbpModule
{
public override void PreInitialize()
{
Configuration.BackgroundJobs.UseHangfire(configuration =>
{
configuration.GlobalConfiguration.UseSqlServerStorage("Default");
});
}
//...
}
如上所示,我們添加了AbpHangfireModule作為依賴,並使用了Configuration.BackgroundJobs.UseHangfire
方法來開啟和配置Hangfire(“Default”是web.config中的連接字符串名稱)。
注意:Hangfire要求創建數據庫模式的權限,因為第一次運行時,它要創建自己的模式和表。
查看Hangfire文檔獲取更多信息。