You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/docs/zh-Hans/Background-Workers-Quartz.md

1.9 KiB

Quartz 后台工作者管理

Quartz是一个高级的后台工作者管理. 你可以用ABP框架集成Quartz代替默认后台工作者管理. ABP简单的集成了Quartz.

安装

建议使用ABP CLI安装包.

使用ABP CLI

在项目的文件夹(.csproj文件)中打开命令行窗口输入以下命令:

abp add-package Volo.Abp.BackgroundWorkers.Quartz

手动安装

如果你想手动安装;

  1. 添加 Volo.Abp.BackgroundWorkers.Quartz NuGet包添加到你的项目:

    Install-Package Volo.Abp.BackgroundWorkers.Quartz
    
  2. 添加 AbpBackgroundWorkersQuartzModule 到你的模块的依赖列表:

[DependsOn(
    //...other dependencies
    typeof(AbpBackgroundWorkersQuartzModule) //Add the new module dependency
    )]
public class YourModule : AbpModule
{
}

配置

参阅配置.

创建后台工作者

后台工作者是一个继承自 QuartzBackgroundWorkerBase 基类的类. 一个简单的工作者如下所示:

public class MyLogWorker : QuartzBackgroundWorkerBase
{
    public MyLogWorker()
    {
        JobDetail = JobBuilder.Create<MyLogWorker>().Build();
        Trigger = TriggerBuilder.Create().StartNow().Build();
    }

    public override Task Execute(IJobExecutionContext context)
    {
        Logger.LogInformation("Executed MyLogWorker..!");
        return Task.CompletedTask;
    }
}

示例中我们重写了 Execute 方法写入日志. 后台工作者默认是单例. 如果你需要,也可以实现依赖接口将其注册为其他的生命周期.

更多

参阅Quartz文档了解更多信息.