Quartz.net-IJobFactory实现任务实例创建的依赖注入

在使用Quartz.net执行调度任务时,任务类必须实现IJob接口,如下
`public class DLLExecutor : IJob
 {
	public async Task Execute(IJobExecutionContext context)
        {
			//你的处理逻辑
		
		}
 }`

具备如上任务类之后,需要做的就是与JobDetial、Trigger进行关联,为了精简,忽略JobDetial、Trigger相关属性设置,代码如下

`	//方式 1
	Type type = typeof(DLLExecutor);
	var jobBuilder = JobBuilder.Create(type);

	//方式 2
	var jobBuilder = JobBuilder.Create();

	//创建ITrigger
	var triggerBuilder = TriggerBuilder.Create();
	
	//调度器
	var _scheduler = new StdSchedulerFactory().GetScheduler().GetAwaiter().GetResult();

	//绑定
	_scheduler.ScheduleJob(jobDetail, iTrigger);
	
`

好的,最简易的任务创建绑定完成,通过如上代码可知道,如果想在任务类中增加部分动态属性,只能**使用静态变量进行处理,且必须在使用前对静态变量进行赋值**,代码如下

`public class DLLExecutor : IJob
 {
	//日志组件,默认Log4Net,但也允许是Log4net、Nlog、ExceptionLess等等
	public static ILogger Logger =log4net;

	public async Task Execute(IJobExecutionC

你可能感兴趣的:(Quartz.net)