ABP 如何创建 BackgroundWorker (后台作业)

1.创建 xxxWorker 作业类,并继承 Abp.Threading.BackgroundWorkers.PeriodicBackgroundWorkerBase 基类,与 Abp.Dependency.ISingletonDependency 接口

2.申明构造函数。注意:下面的的 Timer 是父类中的,不是构造函数上的 timer 参数。

public xxxWorker(AbpTimer timer) : base(timer)
{
    Timer.Period = 600000;//10分钟一次轮询
}

3.重写父类的 DoWork 方法。在方法体中实现作业具体逻辑。

protected override void DoWork()
{
    //在这里实现具体逻辑
}

4.启动任务。理论上可以在任何地方启动,也可以参照官方文档在 public override void PostInitialize() 中处理。

var workManager = IocManager.Resolve<IBackgroundWorkerManager>();
workManager.Add(IocManager.Resolve<xxxWorker>());
workManager.Start();

 

posted @ 2019-05-20 14:57  Jöhan  阅读(433)  评论(0编辑  收藏  举报