使用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文件中做任何设置哦



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值