using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace quartz { class Program { static void Main(string[] args) { ReportJobScheduler.Start(); //启动 Console.WriteLine("启动心跳程序"); Console.ReadKey(); } } }
using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace quartz { /// <summary> /// 提现金额结算Job /// </summary> public class AutoAuditJob : IJob { /// <summary> /// 构造器 /// </summary> public AutoAuditJob() { } /// <summary> /// 心跳程序 /// </summary> /// <param name="context"></param> /// <returns></returns> public Task Execute(IJobExecutionContext context) { return Task.Run(() => { timer1_Elapsed(); }); } /// <summary> /// 定时器 调用的方法 /// </summary> /// <returns></returns> public async void timer1_Elapsed() { ///这里放你实际调用的方法 var time = DateTime.Now; Console.WriteLine("现在是时间:"+time); } } /// <summary> /// 初始化程序 /// </summary> public class ReportJobScheduler { /// <summary> /// 初始化程序 /// </summary> public static async void Start() { IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler(); await scheduler.Start(); IJobDetail job = JobBuilder.Create<AutoAuditJob>().Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("triggerName", "groupName") .WithSimpleSchedule(t => t.WithIntervalInSeconds(2) ///设置触发时间 .RepeatForever()) .Build(); await scheduler.ScheduleJob(job, trigger); } } }
代码可以直接复制使用,需要nugget中安装quartz。