1. 引用程序包   Quartz 2.6.2 

2. 调用代码

 public static void Start()
        {
            IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
            scheduler.Start();
            IJobDetail job = JobBuilder.Create<TimeJob>().Build();
            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("triggerName", "groupName")
                .WithSimpleSchedule(t =>
                   t.WithIntervalInSeconds(2)
                        .RepeatForever())
                .Build();

            scheduler.ScheduleJob(job, trigger);
        }

 

或者使用Cron表达式

  public static void Start2()
        {
            IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
            scheduler.Start();
            IJobDetail job = JobBuilder.Create<ReportJob>().Build();
            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("triggerName2", "groupName")
                .WithCronSchedule("0 0 12 * * ?")
                .Build();

            scheduler.ScheduleJob(job, trigger);
        }

然后在程序启动的时候调用 Start和 Start2 方法。

 /// <summary>
    /// Job。
    /// </summary>
    public class TimeJob : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine($"TimeJob,{DateTime.Now:HH:mm:ss}");
        }
    }

    public class ReportJob : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine($"ReportJob,{DateTime.Now:HH:mm:ss}");
        }
    }

 

posted on 2019-03-21 00:03  余昭(Ray)  阅读(156)  评论(0)    收藏  举报