Quartz任务调度
1.首先添加NuGet:Quartz
2.具体代码:
using Quartz; using Quartz.Impl; using System; using System.Threading.Tasks; namespace quaraz0902 { class Program { static void Main(string[] args) { Run(); Console.ReadKey(); } public int bl = 1; /// <summary> /// 任务调度的使用过程 quartz3.0.7 /// </summary> /// <returns></returns> public async static Task Run() { // 1.创建scheduler的引用 ISchedulerFactory schedFact = new StdSchedulerFactory(); IScheduler sched = await schedFact.GetScheduler(); //2.启动 scheduler await sched.Start(); // 3.创建 job IJobDetail job = JobBuilder.Create<SimpleJob>() .WithIdentity("job1", "group1") .Build(); // 4.创建 trigger ITrigger trigger = TriggerBuilder.Create() .WithIdentity("trigger1", "group1") .WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever())//每五秒执行一次 // .WithCronSchedule("0 04 14 * * ?") //corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份(可为空) //例 "0 0 12 ? * WED" 在每星期三下午12: 00 执行(年份通常 省略)具体设置可以参照这个网址:https://www.cnblogs.com/a8457013/p/8515939.html .Build(); // 5.使用trigger规划执行任务job await sched.ScheduleJob(job, trigger); return; } /// <summary> /// 任务 /// </summary> public class SimpleJob : IJob { public virtual Task Execute(IJobExecutionContext context) { return Console.Out.WriteLineAsync($"job工作了 在{DateTime.Now}"); } } } }