abp后台任务BackGroundWorker

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

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

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

public class BatchCheckWork: PeriodicBackgroundWorkerBase, ISingletonDependency
    {
        public BatchCheckWork(AbpTimer timer) : base(timer)
        {
            Timer.Period = 7000;//7秒一次轮询
        }
        protected override void DoWork()//重写父类的 DoWork
        {
            BatchCheck();//运行的函数
        }
        public void BatchCheck() {
            using (IDbConnection conn = DapperHelper.CreateLocalConnection())
            {
                 //业务逻辑
            }
        }
    }

4.启动任务。(此处我在host展示层直接使用所以在Startup的WebHostModule中启用任务)

abp后台任务BackGroundWorker_第1张图片

添加以下函数(启动项目后即可自动执行任务)

 public override void PostInitialize()
        {
            var workManager = IocManager.Resolve();
            workManager.Add(IocManager.Resolve());
            //workManager.Start();
        }

 

你可能感兴趣的:(ABP开发框架,backgroundwork)