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