public void DeleteRelation(JobRelation poJobRelation) { if (this.moScheduler != null) { this.moScheduler.DeleteJob(new JobKey(poJobRelation.JobName, poJobRelation.Group)); } }
public void Delete(JobRelation poJobRelation) { var loList = this.Read(); loList.Remove(poJobRelation); this.Write(loList); }
public void DeleteJobRelation(JobRelation poJobRelation) { JobRepository.Instance.Delete(poJobRelation); if (Scheduler.Instance.IsSchedulerStarted()) { Scheduler.Instance.DeleteRelation(poJobRelation); } }
public void PutAddRelation(JobRelation poJobRelation) { JobRepository.Instance.Write(poJobRelation); if (Scheduler.Instance.IsSchedulerStarted()) { Scheduler.Instance.AddRelation(poJobRelation); } }
//public void AddRelation(TriggerRelation poTriggerRelation) //{ // if (this.moScheduler != null) // { // var loList = TriggerRepository.Instance.Read(); // loList.Remove(poTriggerRelation); // loList.Add(poTriggerRelation); // TriggerRepository.Instance.Write(loList); // var loJobKey = this.moScheduler.GetJobKeys(GroupMatcher<JobKey>.GroupContains(poTriggerRelation.Group)).FirstOrDefault(item => item.Name == poTriggerRelation.JobName); // if (loJobKey != null) // { // CronTriggerImpl loTrigger = new CronTriggerImpl(poTriggerRelation.TriggerName, poTriggerRelation.Group, poTriggerRelation.CronExpression); // loTrigger.JobKey = loJobKey; // if (this.moScheduler.GetTriggersOfJob(loJobKey).Any(item => item.Key.Name == loTrigger.Key.Name && item.Key.Group == loTrigger.Key.Group)) // this.moScheduler.RescheduleJob(loTrigger.Key, loTrigger); // else // this.moScheduler.ScheduleJob(loTrigger); // } // } //} public void AddRelation(JobRelation poJobRelation) { if (this.moScheduler != null) { var loSchedulerJob = MefExporter.Instance.GetSchedulerJob(poJobRelation.Type); if (loSchedulerJob != null) { Quartz.Collection.HashSet <ITrigger> loTriggerSet = new Quartz.Collection.HashSet <ITrigger>(); loTriggerSet.Add(new CronTriggerImpl("Trg. for {0}".FormatWith(poJobRelation.JobName), poJobRelation.Group, poJobRelation.CronExpression)); var loJobDetail = new JobDetailImpl(poJobRelation.JobName, poJobRelation.Group, loSchedulerJob.GetType()); loJobDetail.Description = loSchedulerJob.Description; loJobDetail.JobDataMap.Add(Constants.JobConfigEntry, poJobRelation.JsonConfig); this.moScheduler.ScheduleJob(loJobDetail, loTriggerSet, true); } } }