• 使用Quartz.NET cron-like表达式


    Quartz.NET  最新源码请到官网下载查看

       Quartz.NET是一个开源的作业调度框架,它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,cron-like表达式等。

        本实例是在Web应用程序中进行调度,无需在Global.asax.cs写任何代码即可完成作业调度设置

    // 获取一个任务调度器
        IScheduler scheduler = SchedulerManager.GetScheduler();
        // 创建一个工作
        string JobName="";//可以任意设置
    
    
        Type type = JobClass.jobClass("IJobTime");
        //Type type = JobClassReturn.jobClassReturn("IJobTime");只不过我对任务执行语句做了封装
        //public class IJobTime: IJob
        ////public void Execute(JobExecutionContext context)
        // {
        //可以在这里面写执行语句
        // }
        //} 
        JobDetail job = new JobDetail(JobName, JobClass.DEFAULT_GROUP, type); 
        // 创建一个触发器
         //这里我直接把取得的数据插入了数据库,由于上传不便,所以就直接去掉了 ,不过不影响调度器的运行的
         CronTrigger trigger = new CronTrigger();
         trigger.Name = Guid.NewGuid().ToString();
         trigger.JobName = JobName;
         trigger.JobGroup = JobClass.DEFAULT_GROUP;
         trigger.Group = JobClass.DEFAULT_Trigger_GROUP;
         //trigger.CronExpression = new CronExpression(Cron); 
         trigger.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow);
          //不能将DateTime.UtcNow写成DateTime.Now,否则触发不了
          trigger.EndTimeUtc = endTime;
          trigger.CronExpressionString = "0/5 * * * * ?";//每隔5秒执行一次
          //scheduler.AddJob(job, true);
    
    
          //将任务与触发器加入调度器
          scheduler.ScheduleJob(job,trigger);
           //scheduler.ScheduleJob(trigger)
    
          //判断调度器是否启用
           if (!scheduler.IsStarted)
           {
               scheduler.Start();
           }

       已经完成,Quartz.NET会按照cron-like表达式设置的时间间隔去执行作业调度语句,而且无需在Global文件中做任何设置哦

    追求卓越,成功就会在不经意间追上你!
  • 相关阅读:
    简单的语句统计所有用户表尺寸大小
    CodeSmith 介绍
    Oracle Partition By 的使用
    Oracle Contact By的使用
    正则提取 html 里<input> 标记的value 值
    IOS 7 风格Checkbox
    aspose words 介绍
    大规模web 服务开发技术
    数学之美 读后感
    工作流简介--(转)
  • 原文地址:https://www.cnblogs.com/likea/p/4288740.html
Copyright © 2020-2023  润新知