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/