关于C#定时器的更新

一开始用的timer类直接写的 简单粗暴,后来才发现大家都用quartz  其实也是一个封装的timer  但是据说比较准确 自己测试了一下的确挺准的 就改了 

参考教材如下:

https://www.cnblogs.com/pingming/p/4999228.html

https://www.cnblogs.com/best/p/7658573.html

https://blog.csdn.net/l1394049664/article/details/81538732

前两个是quartz的 最后一个是关于cron expressions 时间设置的 

简单介绍一下:

1:nuget下包 quartz 我用的2.0的

2:在global中编写:

        //调度器
        IScheduler scheduler;
        //调度器工厂
        ISchedulerFactory factory;
        //创建一个调度器
            factory = new StdSchedulerFactory();
            scheduler = factory.GetScheduler();
            scheduler.Start();
            //2、创建一个任务
            IJobDetail job = JobBuilder.Create<hqs_utills.TimeJob>().WithIdentity("job1", "group1").Build();
            //3、创建一个触发器
            //DateTimeOffset runTime = DateBuilder.EvenMinuteDate(DateTimeOffset.UtcNow);
            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("trigger1", "group1")
                .WithCronSchedule("0 0/2 * * * ?")     //5秒执行一次
                                                       //.StartAt(runTime)
                .Build();
            //4、将任务与触发器添加到调度器中
            scheduler.ScheduleJob(job, trigger);
            //5、开始执行
            scheduler.Start();

3:新添工作类即定时任务:

public class TimeJob : IJob
    {
        private QueService queService = new QueService();

        public void Execute(IJobExecutionContext context)
        {
            //向c:\Quartz.txt写入当前时间并换行
            queService.insertQue();
            File.AppendAllText(@"D:\Quartz.txt", DateTime.Now + Environment.NewLine);
        }
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值