Net6中使用Quartz调度
首先创建 NetCore Web 应用(框架选择NET6.0)
首先引入Nuget包 Quartz
首先注入调度工厂
//注册服务
builder.Services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
创建一个IOC服务类为了能够让我们访问到 注入容器中的其他注入信息,因为Quartz有一个默认的生成job的工厂类Quartz.Simpl.SimpleJobFactory
using Quartz;
using Quartz.Spi;
namespace QuzrtzJob.Factory
{
public class IOCJobFactory : IJobFactory
{
private readonly IServiceProvider _serviceProvider;
public IOCJobFactory(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
{
return _serviceProvider.GetService(bundle.JobDetail.JobType) as IJob;
}