using CommonUtil; using Quartz; using Quartz.Impl; using ScheduledTasks.Handle; using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Threading.Tasks; namespace ScheduledTasks { public class Scheduler { private IScheduler scheduler; /// /// 创建调度任务的入口 /// /// public async Task Start() { await StartJob(); } /// /// 创建调度任务的公共调用中心 /// /// public async Task StartJob() { //创建一个工厂 NameValueCollection param = new NameValueCollection() { { "testJob","test"} }; StdSchedulerFactory factory = new StdSchedulerFactory(param); //创建一个调度器 scheduler = await factory.GetScheduler(); //开始调度器 await scheduler.Start(); //有赞和1688token更新 string tokenupdate = ConfigUtil.GetValue("job_tokenupdate"); await CreateJob("token更新", "token更新", tokenupdate); } /// /// 创建运行的调度器 /// /// /// /// /// /// public async Task CreateJob(string name, string group, string cronTime) where T : IJob { //创建一个作业 var job = JobBuilder.Create() .WithIdentity("name" + name, "group" + group) .Build(); //创建一个触发器 var tigger = (ICronTrigger)TriggerBuilder.Create() .WithIdentity("name" + name, "group" + group) .StartNow() .WithCronSchedule(cronTime) .Build(); //把作业和触发器放入调度器中 await scheduler.ScheduleJob(job, tigger); } } }