C# 使用 quartz.net 做定时任务

Posted su-king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 使用 quartz.net 做定时任务相关的知识,希望对你有一定的参考价值。

Quartz.NET  是一套很好的任务调度框架。在设置定时时间的时候,使用了cron表达式很方便

简单代码

 public async Task beginStart()
        
            //从工厂中获取一个调度器实例化
            IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
            await scheduler.Start();       //开启调度器

            //==========例子1(简单使用)===========
            var type = Type.GetType("ConsoleTopshelf.HelloJob");

            IJobDetail job1 = JobBuilder.Create(type)   //创建一个作业
                .WithIdentity("作业名称", "作业组")
                .Build();

            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("触发器名称", "触发器组")
                .StartNow()
                .WithCronSchedule("/1 * * * * ? ")  //corn 表达式 每秒执行一次
                .Build();

            await scheduler.ScheduleJob(job1, trigger);      //把作业,触发器加入调度器。
        

 

using Quartz;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleTopshelf

    /// <summary>
    /// 作业
    /// </summary>
    public class HelloJob : IJob
    
        public async Task Execute(IJobExecutionContext context)
        
            Console.WriteLine("HelloJob" + System.DateTime.Now);
        
    

 

corn表达式在线生成 http://cron.qqe2.com/

 

以上是关于C# 使用 quartz.net 做定时任务的主要内容,如果未能解决你的问题,请参考以下文章

.netcore 使用Quartz定时任务

Hosted Services+Quartz实现定时任务调度

ASP.NET Core2.2+Quartz.Net 实现web定时任务

[C#]System.Timers.Timer

开源的.NET定时任务组件Hangfire开发总结

推荐一款好用的任务定时器:Quartz