/// <summary> /// 自动更新 任务触发器集合 /// </summary> /// <param name="jobKey">任务key</param> protected void UpdateJobsTriggerList(JobKey jobKey) { if (jobTriggerServerList.Where(x => x.JobKey.Name == jobKey.Name).Count() > 0) { jobTriggerServerList.RemoveAll(x => x.JobKey.Name == jobKey.Name); } foreach (var v in scheduler.GetTriggersOfJob(jobKey)) { var temp = new JobsTrigger(); temp.JobKey = jobKey; temp.TriggerKey = v.Key; temp.TriggerState = scheduler.GetTriggerState(v.Key); jobTriggerServerList.Add(temp); } }
/// <summary> /// 返回是否存在指定的 任务以及触发器 /// </summary> /// <param name="jobKey">任务key</param> /// <param name="triggerKey">触发器key</param> /// <returns>是否存在</returns> public bool IsExistsJobsAndTrigger(JobKey jobKey, TriggerKey triggerKey) { bool IsExist = scheduler.CheckExists(jobKey); if (IsExist) { var triggerList = scheduler.GetTriggersOfJob(jobKey); if (triggerList.Where(x => x.Key.Name == triggerKey.Name).Count() > 0) { JobsTrigger temp = new JobsTrigger(); temp.JobKey = jobKey; temp.TriggerKey = triggerKey; temp.TriggerState = scheduler.GetTriggerState(triggerKey); var localServer = jobTriggerServerList.Where(x => x.JobKey.Name == jobKey.Name && x.TriggerKey.Name == triggerKey.Name).FirstOrDefault(); if (localServer != null) { jobTriggerServerList.Remove(localServer); jobTriggerServerList.Add(temp); } else { jobTriggerServerList.Add(localServer); } return(true); } else { return(false); } } else { return(IsExist); } }