quartz.net 作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了quartz.net 作业相关的知识,希望对你有一定的参考价值。

1 添加引用

技术分享

2 代码如下

class Program
	{
		static void Main(string[] args)
		{
			//1.首先创建一个作业调度池
			ISchedulerFactory schedf = new StdSchedulerFactory();
			IScheduler sched = schedf.GetScheduler();
			//2.创建出来一个具体的作业
			IJobDetail job = JobBuilder.Create<JobDemo>().Build();
			//3.创建并配置一个触发器
			ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create().WithSimpleSchedule(x => x.WithIntervalInSeconds(3).WithRepeatCount(int.MaxValue)).Build();

			////NextGivenSecondDate:如果第一个参数为null则表名当前时间往后推迟2秒的时间点。
			//DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddSeconds(1), 2);
			//DateTimeOffset endTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddHours(2), 3);
			////创建并配置一个触发器
			//ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create().StartAt(startTime).EndAt(endTime)
			//							.WithSimpleSchedule(x => x.WithIntervalInSeconds(3).WithRepeatCount(100))
			//							.Build();


			//在每小时的第10,20,25,26,33,54分钟,每分钟的第1,10,14秒执行一次
			//创建并配置一个触发器
			//ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create().StartAt(startTime).EndAt(endTime)
			//							.WithCronSchedule("1,10,14 10,20,25,26,33,54 * * * ? ")
			//							.Build();



			//4.加入作业调度池中
			sched.ScheduleJob(job, trigger);
			//5.开始运行
			sched.Start();
			Console.ReadKey();
		}
	}
	public class JobDemo : IJob
	{
		/// <summary>
		/// 这里是作业调度每次定时执行方法
		/// </summary>
		/// <param name="context"></param>
		public void Execute(IJobExecutionContext context)
		{
			Console.WriteLine(DateTime.Now.ToString("r"));
		}
	}

  

 

技术分享

以上是关于quartz.net 作业的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Quartz.Net 开始计划作业?

Quartz.Net

Quartz.NET开源作业调度架构

Quartz.Net 创建作业插件架构

如何在 Quartz.NET 作业中注入 NavigationManager?

Quartz.net开源作业调度框架使用详解