Exemplo n.º 1
0
        public bool ResumeJob(custom_job_infoes jobInfo)
        {
            var jobKey = KeyManager.CreateJobKey(jobInfo.JobName, jobInfo.JobGroupName);

            Scheduler.ResumeJob(jobKey);
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 添加任务
        /// </summary>
        /// <param name="addJobViewModel">添加任务模型</param>
        /// <returns></returns>

        public JsonResult AddJob(AddJobViewModel addJobViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(ResponseDataFactory.CreateAjaxResponseData("-10001", "添加失败", "输入参数错误:" + ModelState.Values.Where(item => item.Errors.Count == 1).Aggregate(string.Empty, (current, item) => current + (item.Errors[0].ErrorMessage + ";   ")))));
            }
            var values     = addJobViewModel.SchedulerHost.Split('/');
            var host       = values[0];
            var name       = string.Empty;
            var instanceId = string.Empty;

            if (host.Length > 1 && host.Length <= 2)
            {
                name = addJobViewModel.SchedulerHost.Split('/')[1];
            }
            else
            {
                instanceId = addJobViewModel.SchedulerHost.Split('/')[2];
            }
            var customeJobInfo = new custom_job_infoes()
            {
                CreateTime = DateTime.Now, Cron = addJobViewModel.CronJob.Cron, CurrentSchedulerHost = host, CurrentSchedulerHostName = name, CurrentSchedulerInstanceId = instanceId, Cycle = addJobViewModel.SimpleJob.Cycle, Deleted = 0, Description = addJobViewModel.JobDescription, DllName = "Quartz.Net_Core.dll", JobName = addJobViewModel.JobName, FullJobName = "Quartz.Net_Core.JobExcute.JobItem", OriginSchedulerHost = host, OriginSchedulerHostName = name, OriginSchedulerInstanceId = instanceId, RepeatCount = addJobViewModel.SimpleJob.RepeatCount, RequestUrl = addJobViewModel.RequestUrl, TriggerState = 0, TriggerType = addJobViewModel.TriggerType
            };
            var jobId = _customerJobInfoRepository.AddCustomerJobInfo(customeJobInfo);

            return(Json(ResponseDataFactory.CreateAjaxResponseData("1", "添加成功", jobId)));
        }
Exemplo n.º 3
0
        public override bool RunJob(custom_job_infoes jobInfo)
        {
            //Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + $"bin/{jobInfo.DLLName}");
            //var type = assembly.GetType(jobInfo.FullJobName);
            JobKey jobKey = KeyManager.CreateJobKey(jobInfo.JobName, jobInfo.JobGroupName);

            if (!Scheduler.CheckExists(jobKey))
            {
                IJobDetail job = JobBuilder.Create <JobItem>()
                                 .WithIdentity(jobKey)
                                 .UsingJobData(KeyManager.CreateJobDataMap("requestUrl", jobInfo.RequestUrl))
                                 .Build();
                CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.CronSchedule(jobInfo.Cron);
                ITrigger            trigger         = TriggerBuilder.Create().StartAt(DateTimeOffset.Now.AddYears(-1))
                                                      .WithIdentity(jobInfo.TriggerName, jobInfo.TriggerGroupName)
                                                      .ForJob(jobKey)
                                                      .WithSchedule(scheduleBuilder.WithMisfireHandlingInstructionDoNothing())
                                                      .Build();
                Scheduler.ScheduleJob(job, trigger);
                //Task.Run(() =>
                //{
                //    //执行更新任务所在节点信息

                //});
            }
            return(true);
        }
Exemplo n.º 4
0
        public bool DeleteJob(custom_job_infoes jobInfo)
        {
            var jobKey     = KeyManager.CreateJobKey(jobInfo.JobName, jobInfo.JobGroupName);
            var triggerKey = KeyManager.CreateTriggerKey(jobInfo.TriggerName, jobInfo.TriggerGroupName);

            Scheduler.PauseTrigger(triggerKey);
            Scheduler.UnscheduleJob(triggerKey);
            Scheduler.DeleteJob(jobKey);
            return(true);
        }
        public override bool ModifyJobCron(custom_job_infoes jobInfo)
        {
            var      triggerKey = KeyManager.CreateTriggerKey(jobInfo.TriggerName, jobInfo.TriggerGroupName);
            ITrigger trigger    = TriggerBuilder.Create().StartAt(DateTimeOffset.Now)
                                  .WithIdentity(jobInfo.TriggerName, jobInfo.TriggerGroupName)
                                  .WithSimpleSchedule(x => x.WithIntervalInSeconds(jobInfo.Cycle.HasValue? jobInfo.Cycle.Value:1).WithRepeatCount(jobInfo.RepeatCount.Value - 1))
                                  .Build();

            Scheduler.RescheduleJob(triggerKey, trigger);
            return(true);
        }
Exemplo n.º 6
0
        public override bool ModifyJobCron(custom_job_infoes jobInfo)
        {
            CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.CronSchedule(jobInfo.Cron);
            var      triggerKey = KeyManager.CreateTriggerKey(jobInfo.TriggerName, jobInfo.TriggerGroupName);
            ITrigger trigger    = TriggerBuilder.Create().StartAt(DateTimeOffset.Now.AddYears(-1))
                                  .WithIdentity(jobInfo.TriggerName, jobInfo.TriggerGroupName)
                                  .WithSchedule(scheduleBuilder.WithMisfireHandlingInstructionDoNothing())
                                  .Build();

            Scheduler.RescheduleJob(triggerKey, trigger);
            return(true);
        }
        public override bool RunJob(custom_job_infoes jobInfo)
        {
            //Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + $"bin/{jobInfo.DLLName}");
            //var type = assembly.GetType(jobInfo.FullJobName);
            JobKey jobKey = KeyManager.CreateJobKey(jobInfo.JobName, jobInfo.JobGroupName);

            if (!Scheduler.CheckExists(jobKey))
            {
                IJobDetail job = JobBuilder.Create <JobItem>()
                                 .WithIdentity(jobKey)
                                 .UsingJobData(KeyManager.CreateJobDataMap("requestUrl", jobInfo.RequestUrl))
                                 .Build();
                ITrigger trigger = TriggerBuilder.Create().StartAt(DateTimeOffset.Now)
                                   .WithIdentity(jobInfo.TriggerName, jobInfo.TriggerGroupName)
                                   .ForJob(jobKey)
                                   .WithSimpleSchedule(x => x.WithIntervalInSeconds(jobInfo.Cycle.HasValue? jobInfo.Cycle.Value:1).WithRepeatCount(jobInfo.RepeatCount.Value - 1))
                                   .Build();
                Scheduler.ScheduleJob(job, trigger);
            }
            return(true);
        }
Exemplo n.º 8
0
 public abstract bool ModifyJobCron(custom_job_infoes jobInfo);
Exemplo n.º 9
0
 public abstract bool RunJob(custom_job_infoes jobInfo);
 public int AddCustomerJobInfo(custom_job_infoes addJobModel)
 {
     return(_dbContext.customer_quartzjobinfoDb.InsertReturnIdentity(addJobModel));
 }