Beispiel #1
0
        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();
        }
Beispiel #2
0
        }   // 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