mirror of https://github.com/abpframework/abp
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.
1.9 KiB
1.9 KiB
Quartz 后台工作者管理
Quartz是一个高级的后台工作者管理. 你可以用ABP框架集成Quartz代替默认后台工作者管理. ABP简单的集成了Quartz.
安装
建议使用ABP CLI安装包.
使用ABP CLI
在项目的文件夹(.csproj文件)中打开命令行窗口输入以下命令:
abp add-package Volo.Abp.BackgroundWorkers.Quartz
手动安装
如果你想手动安装;
-
添加 Volo.Abp.BackgroundWorkers.Quartz NuGet包添加到你的项目:
Install-Package Volo.Abp.BackgroundWorkers.Quartz
-
添加
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文档了解更多信息.