static void Main(string[] args) { //周期执行时间设置 string cycleTime = @"* 0/2 * ? * *"; //调度器工厂 ISchedulerFactory sf = new StdSchedulerFactory(); if (_scheduler == null) { //创建调度器 _scheduler = sf.GetScheduler(); } _scheduler.Start(); //创建任务对象 Quartz.IJobDetail job1 = JobBuilder.Create <MyEventJob>().WithIdentity("job1", "group1").Build(); //创建触发器 ITrigger trigger1 = TriggerBuilder.Create().StartAt(DateTime.Now.AddSeconds(5)).WithIdentity("trigger1", "group1").StartNow().WithCronSchedule(cycleTime).Build(); //添加指定的任务 并关联指定的触发器 _scheduler.ScheduleJob(job1, trigger1); Console.ReadLine(); }
} // End Constructor public async System.Threading.Tasks.Task StartJobs(System.Threading.CancellationToken stoppingToken) { this._stopppingToken = stoppingToken; this._schedulerFactory = new Quartz.Impl.StdSchedulerFactory(); this._scheduler = await this._schedulerFactory.GetScheduler(); await this._scheduler.Start(); Quartz.IJobDetail job1 = Quartz.JobBuilder.Create <Job1>() .WithIdentity("job1", "gtoup") .Build(); Quartz.ITrigger trigger1 = Quartz.TriggerBuilder.Create() .WithIdentity("trigger_10_sec", "group") .StartNow() .WithSimpleSchedule(x => x .WithIntervalInSeconds(10) .RepeatForever()) .Build(); Quartz.IJobDetail job2 = Quartz.JobBuilder.Create <Job2>() .WithIdentity("job2", "group") .Build(); Quartz.ITrigger trigger2 = Quartz.TriggerBuilder.Create() .WithIdentity("trigger_20_sec", "group") .StartNow() .WithSimpleSchedule(x => x .WithIntervalInSeconds(20) .RepeatForever()) .Build(); await this._scheduler.ScheduleJob(job1, trigger1, this._stopppingToken); await this._scheduler.ScheduleJob(job2, trigger2, this._stopppingToken); } // End Task StartJobs