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/