Quartz 使用
public class IndexJob:IJob//此处必须实现 IJob接口 { /// <summary> /// 具体的任务 /// </summary> /// <param name="context"></param> IBLL.IkeyWordsRankService KeyWordService = new BLL.keyWordsRankService(); public void Execute(JobExecutionContext context) { KeyWordService.DeleteAll(); KeyWordService.InsertKeyWordRank(); } }
1 static void Main(string[] args) 2 { 3 IScheduler iScheduler=new StdSchedulerFactory().GetScheduler(); 4 5 //每隔一段时间执行任务 6 7 IScheduler sched; 8 ISchedulerFactory sf = new StdSchedulerFactory(); 9 sched = sf.GetScheduler(); 10 JobDetail job = new JobDetail("job1", "group1", typeof(IndexJob));//IndexJob为实现了IJob接口的类 11 DateTime ts = TriggerUtils.GetNextGivenSecondDate(null, 5);//5秒后开始第一次运行 12 TimeSpan interval = TimeSpan.FromSeconds(5);//每隔1小时执行一次 13 Trigger trigger = new SimpleTrigger("trigger1", "group1", "job1", "group1", ts, null, 14 SimpleTrigger.RepeatIndefinitely, interval);//每若干小时运行一次,小时间隔由appsettings中的IndexIntervalHour参数指定 15 16 sched.AddJob(job, true); 17 sched.ScheduleJob(trigger); 18 sched.Start(); 19 Console.ReadKey(); 20 //要关闭任务定时则需要sched.Shutdown(true) 21 }