ABP VNext集成Quartz
1.添加Nuget包
Volo.Abp.BackgroundWorkers.Quartz
2.Module中添加依赖
typeof(AbpBackgroundWorkersQuartzModule)
[DependsOn(
typeof(EquipDomainModule),
typeof(EquipApplicationContractsModule),
typeof(AbpDddApplicationModule),
typeof(AbpAutoMapperModule),
typeof(EnergyApplicationModule)
, typeof(AbpBackgroundWorkersQuartzModule)
)]
public class EquipApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddHttpContextAccessor();
context.Services.AddAutoMapperObjectMapper<EquipApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<EquipApplicationModule>(validate: false);
});
}
}
3.编写逻辑
继承QuartzBackgroundWorkerBase
public class SiteInspectPlanWorker : QuartzBackgroundWorkerBase
{
public SiteInspectPlanWorker()
{
JobDetail = JobBuilder.Create<SiteInspectPlanWorker>().WithIdentity(nameof(SiteInspectPlanWorker)).Build();
Trigger = TriggerBuilder.Create().WithIdentity(nameof(SiteInspectPlanWorker)).StartNow().WithSimpleSchedule
(schedule =>
{
schedule.RepeatForever()
.WithIntervalInSeconds(5)
.Build();
}).Build();
ScheduleJob = async scheduler =>
{
if (!await scheduler.CheckExists(JobDetail.Key))
{
await scheduler.ScheduleJob(JobDetail, Trigger);
}
};
}
public override async Task Execute(IJobExecutionContext context)
{
Logger.LogInformation("开始生成定时巡检任务!");
Logger.LogInformation("执行自己逻辑......!");
Logger.LogInformation("结束生成定时巡检任务!");
}
}