예제 #1
0
        public bool ModifyJobCron(JobParamBaseModel job)
        {
            try
            {
                JobKey jobKey = CreateJobKey(job.JobName, job.JobGroupName);
                CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.CronSchedule(job.CronExpression);
                var triggerKey = CreateTriggerKey(job.TriggerName, job.TriggerGroupName);

                ITrigger trigger = TriggerBuilder.Create().StartNow()
                                   .WithIdentity(job.TriggerName, job.TriggerGroupName)
                                   .ForJob(jobKey)
                                   .WithSchedule(scheduleBuilder.WithMisfireHandlingInstructionDoNothing())
                                   .Build();

                bool blxml = Xml.XmlJobManage.ModifyJobCronToXml(triggerKey, jobKey, trigger);
                if (blxml)
                {
                    _scheduler.RescheduleJob(triggerKey, trigger);
                    return(true);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            return(false);
        }
        protected ITrigger CreateTrigger(JobParamBaseModel job, JobKey jobKey)
        {
            CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.CronSchedule(job.CronExpression);
            ITrigger            trigger         = TriggerBuilder.Create().StartNow()
                                                  .WithIdentity(job.TriggerName, job.TriggerGroupName)
                                                  .ForJob(jobKey)
                                                  .WithSchedule(scheduleBuilder.WithMisfireHandlingInstructionDoNothing())
                                                  .Build();

            return(trigger);
        }
예제 #3
0
        public bool DeleteJob(JobParamBaseModel job)
        {
            try
            {
                var jobKey = CreateJobKey(job.JobName, job.JobGroupName);

                return(_scheduler.DeleteJob(jobKey).GetAwaiter().GetResult());
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(false);
        }
예제 #4
0
        public bool DeleteJob(JobParamBaseModel job)
        {
            try
            {
                var jobKey     = CreateJobKey(job.JobName, job.JobGroupName);
                var triggerKey = CreateTriggerKey(job.TriggerName, job.TriggerGroupName);

                bool blxml = Xml.XmlJobManage.DeleteJobToXml(jobKey, triggerKey);
                if (blxml)
                {
                    return(_scheduler.DeleteJob(jobKey).GetAwaiter().GetResult());
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(false);
        }
예제 #5
0
 public bool ModifyJobCron(JobParamBaseModel job)
 {
     return(_jobStore.ModifyJobCron(job));
 }
예제 #6
0
 public bool DeleteJob(JobParamBaseModel job)
 {
     return(_jobStore.DeleteJob(job));
 }