public static void AddJob(Abstract_Ijob abstract_Ijob) { var jobmodel = abstract_Ijob.InitJobModel(); // 默认告诉,必须要继承ijob //key --uuid IJobDetail job = JobBuilder.Create(abstract_Ijob.GetType()).WithIdentity(abstract_Ijob.InitJobModel().Name, abstract_Ijob.InitJobModel().GroupName).Build(); //uuid var key = new JobKey(jobmodel.Name); //加了一个任务 job.JobDataMap.Add("data", jobmodel.Data); //触发器 ITrigger trigger = TriggerBuilder.Create() .StartAt(DateTime.Now) //什么时候开始执行 .WithIdentity(jobmodel.Name, jobmodel.GroupName) .WithDescription(jobmodel.Description) .WithCronSchedule(jobmodel.CronSchedule) //表达式 .Build(); // 自己业务,维护当前执行任务--界面展示,可以使用 jobs.Add(key.Group + "@" + key.Name); //吧当前任务加入到我们的执行计划里面 scheduler.ScheduleJob(job, trigger); //var groupNames = scheduler.GetJobGroupNames().Result; //foreach (var groupName in groupNames.OrderBy(t => t)) //{ // var jobs = scheduler.GetJobKeys(GroupMatcher<JobKey>.GroupEquals(groupName)); //} }
public static void RomverJob(Abstract_Ijob abstract_Ijob) { var jobmodel = abstract_Ijob.InitJobModel(); // uuid var key = new JobKey(jobmodel.Name, jobmodel.GroupName); if (scheduler.CheckExists(key).Result) { // 先暂停,然后删除 scheduler.PauseJob(key, CancellationToken.None).Wait(); //涉及到哪些东西,模型,想,会不会边,会不会增加,会不会变 --模型要不要改变--模型--架构--你就按照他干 scheduler.DeleteJob(key).Wait(); } //var groupNames = scheduler.GetJobGroupNames().Result; //foreach (var groupName in groupNames.OrderBy(t => t)) //{ // var jobs = scheduler.GetJobKeys(GroupMatcher<JobKey>.GroupEquals(groupName)); //} // 自己维护,为了以后界面展示 jobs.Remove(key.Group + "@" + key.Name); }