ABP源码分析三十九:ABP.Hangfire

时间:2021-10-29 23:23:07

ABP对HangFire的集成主要是通过实现IBackgroundJobManager接口的HangfireBackgroundJobManager类完成的。

HangfireBackgroundJobManager:实现了接口IBackgroundJobManager中的方法EnqueueAsync,通过HangfireBackgroundJob完成Enqueue。重写了BackgroundWorkerBase中的Start和WaitToStop方法。

ABP源码分析三十九:ABP.Hangfire

ABP源码分析三十九:ABP.Hangfire

AbpHangfireConfiguration / IAbpHangfireConfiguration:定义了BackgroundJobServer的配置项。

ABP源码分析三十九:ABP.Hangfire

HangfireIocJobActivator:继承了Hangfire组件里的JobActivator.因为ABP是通过Castle来作为容器管理对象的。所以这里的目的是为了通过castel来完成jobtype的resolve.

AbpHangfireModule:完成常规的依赖注入配置和注入自定义的JobActivator

ABP源码分析三十九:ABP.Hangfire

AbpHangfireConfigurationExtensions:通过UseHangFire方法完成HangfireBackgroundJobManager的注入。

ABP源码分析三十九:ABP.Hangfire

在ABP中配置使用HangFire是很轻松的事。如下设置就可以了(要在PreInitialize中设置)

ABP源码分析三十九:ABP.Hangfire

返回ABP源码分析系列文章目录