7.3 ABP后台服务 - 集成Quartz

7.3.1 简介

Quartzarrow-up-right是一个功能齐全,且开源的作业调度系统,小型应用到大型企业级系统都可以使用它。Abp.Quartzarrow-up-right简单的集成它到ABP。

ABP有个内置的持久化后台作业队列和后台作业工人。Quartz是个好的选择,如果你对后台作业工人有很高的调度需要的话。当然,对于持久化后台作业队列,Hangfirearrow-up-right是个不错的选择。

7.3.2 安装

安装Abp.Quartzarrow-up-right到你的项目,并对你的模块添加 AbpQuartzModule 依赖。如下所示:

[DependsOn(typeof (AbpQuartzModule))]
public class YourModule : AbpModule
{
    //...
}

7.3.3 创建后台作业

你也可以实现Quartz的IJob接口来创建一个新的作业,或者派生自JobBase类(定义在Abp.Quartz包中),该类有一些工具属性和方法(例如:日志记录和本地化)。如下所示是一个简单的作业类:

public class MyLogJob : JobBase, ITransientDependency
{
    public override void Execute(IJobExecutionContext context)
    {
        Logger.Info("Executed MyLogJob :)");
    }
}

我们简单的实现了 Execute 方法来写日志。如果要了解更多请参考Quartz文档arrow-up-right

7.3.3 创建调度作业

IQuartzScheduleJobManager 接口被用来创建调度作业。你可以在类中注入该接口(或者你可以在你的模块的PostInitialize方法中解析和使用它)来调度作业。某个包含作业调度的控制器示例:

7.3.4 更多

请查看Quartz文档arrow-up-right来了解Quartz的更多信息。

Last updated