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 作业的主要内容,如果未能解决你的问题,请参考以下文章