1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using Quartz;
- using Quartz.Impl;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace WCS.Service
- {
- public class QuartzStartup
- {
- private ISchedulerFactory _schedulerFactory;
- private IScheduler _scheduler;
- public async Task<string> Start()
- {
- //1、声明一个调度工厂
- _schedulerFactory = new StdSchedulerFactory();
- //2、通过调度工厂获得调度器
- _scheduler = await _schedulerFactory.GetScheduler();
- //3、开启调度器
- await _scheduler.Start();
- //4、创建一个触发器
- //var trigger = TriggerBuilder.Create()
- // .WithSimpleSchedule(x => x.WithIntervalInSeconds(2).RepeatForever())//每两秒执行一次
- // .Build();
- ////5、创建任务
- //var jobDetail = JobBuilder.Create<UserInfoSyncjob>()
- // .WithIdentity("job", "group")
- // .Build();
- ////6、将触发器和任务器绑定到调度器中
- //await _scheduler.ScheduleJob(jobDetail, trigger);
- return await Task.FromResult("将触发器和任务器绑定到调度器中完成");
- }
- public void Stop()
- {
- if (_scheduler == null)
- {
- return;
- }
- if (_scheduler.Shutdown(waitForJobsToComplete: true).Wait(30000))
- _scheduler = null;
- else
- {
- }
- }
- }
- }
|