`
zjnbshifox
  • 浏览: 312674 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Quartz.Net 2.0 beta 新建定时任务

    博客分类:
  • .NET
阅读更多
Quartz.Net 2.0中,对于任务的启动等与原来有较大的变化了
原来的代码如下:摘自http://quartznet.sourceforge.net/tutorial/lesson_1.html
ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();

// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(HelloJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);  
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);

2.0增加了.net 4.0的支持(在网站启动事件中,加入定时任务的执行)
void Application_Start(object sender, EventArgs e) 
    {
        // 在应用程序启动时运行的代码
        ISchedulerFactory sf = new StdSchedulerFactory();
        IScheduler sched = sf.GetScheduler();
        //新建一个计划任务
        IJobDetail job = JobBuilder.Create<wr.DataImportJob>()
            .WithIdentity("job1", "group1").Build();
        
        //该任务执行时间为每隔10秒中,如果要每隔5分钟可以这样0 0/5 * * * * ?
        //这样的格式表示每隔5分钟整执行
        ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "group1")
            .WithSchedule(CronScheduleBuilder.CronSchedule(new CronExpression("0/5 * * * * ?")))
            .Build();
            
        //启动任务
        sched.ScheduleJob(job, trigger);
        sched.Start();
        
        
    }

DataImportJob则是先IJob接口
public class DataImportJob : IJob
    {
        private readonly ILog log = LogManager.GetLogger(typeof(wr.DataImportJob));
        public void Execute(IJobExecutionContext context)
        {
         }
     }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics