zoukankan      html  css  js  c++  java
  • Quartz.NET实现作业调度(3.0版本实现)定时执行一个任务

    2.0版本请参考https://www.cnblogs.com/best/p/7658573.html 这里的文章很详细:

    我们现在想每5秒钟往txt文件夹里存储一个时间

    首先:定义一个类,实现Quartz.IJob接口,实现方法Execute,TimeJob.cs文件的代码如下:

    using Quartz;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MvcApplication1
    {
        public class TimeJob : IJob
        {
            public void Execute(IJobExecutionContext context)
            {
                //向c:Quartz.txt写入当前时间并换行
                System.IO.File.AppendAllText(@"c:Quartz.txt", DateTime.Now+Environment.NewLine);
            }
        }
    }
    

      

    现在Quartz.NET3.0 操作如下:和2.0版本还是有预定的区别,引入了TASK相关的概念,具体参照  https://www.quartz-scheduler.net/documentation/quartz-3.x/migration-guide.html

     //1,调度器
                Task<IScheduler> taskScheduler;
                IScheduler scheduler1;
                //调度器工厂
                ISchedulerFactory factory = new StdSchedulerFactory();
    
                //创建一个调度器
                taskScheduler = factory.GetScheduler();
                scheduler1 = taskScheduler.Result;
    
                IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("job1", "group1").Build();
    
                //3、创建一个触发器
    
                //ITrigger trigger = TriggerBuilder.Create()
                //    .WithIdentity("trigger1", "group1")
                //    .WithCronSchedule("0/5 * * * * ?")     //5秒执行一次
                //    .Build();
    
                //3.1另外一种触发器
                ISimpleTrigger trigger1 = (ISimpleTrigger)TriggerBuilder.Create()
                       .WithIdentity("trigger1", "group1")
                       .StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever()).Build();
    
                //4、将任务与触发器添加到调度器中
                //scheduler1.ScheduleJob(job, trigger);
                scheduler1.ScheduleJob(job, trigger1);
                //5、开始执行
                scheduler1.Start();
    

      

  • 相关阅读:
    蓝牙模块连接后出现ANR,日志记录
    移动基站问题
    从地址栏获取字符串
    jquery升级换代
    手机屏幕的触点
    屏幕翻转后要干什么
    条件判断后吸住底部的总结
    mouseenter 和 mouseleave
    自动垂直居中的js
    数学方法代替浮动解决自动换行排列
  • 原文地址:https://www.cnblogs.com/huchaoheng/p/9398024.html
Copyright © 2011-2022 走看看