Quartz.NET http://www.quartz-scheduler.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/
来源: http://www.bubuko.com/infodetail-3165975.html