Quartz.Net的使用

//每隔一段时间执行任务
IScheduler sched;
 ISchedulerFactory sf = new StdSchedulerFactory();
            sched = sf.GetScheduler();
            JobDetail job = new JobDetail("job1", "group1", typeof(IndexJob));//IndexJob为实现了IJob接口的类
            DateTime ts = TriggerUtils.GetNextGivenSecondDate(null, 5);//5秒后开始第一次运行
            TimeSpan interval =  TimeSpan.FromHours(1);//每隔1小时执行一次
 Trigger trigger = new SimpleTrigger("trigger1", "group1", "job1", "group1", ts, null,
                                         SimpleTrigger.RepeatIndefinitely, interval);//每若干小时运行一次,小时间隔由appsettings中的IndexIntervalHour参数指定

            sched.AddJob(job, true);
            sched.ScheduleJob(trigger);
            sched.Start();
要关闭任务定时则需要sched.Shutdown(true)

 需要定时执行的任务,只需实现IJob接口下的Execute()方法

public class IndexJob : IJob
{
    public void Execute(IJobExecutionContext context)
    {
        Console.WriteLine("Greetings from HelloJob!");
    }
}

 上面的代码为Quartz.Net  1.0.3版本

posted @ 2017-02-20 11:09  双鱼小毅  阅读(97)  评论(0)    收藏  举报