Пример #1
0
        public bool UpdateHttpJob(JobParamHttpModel job)
        {
            try
            {
                JobKey       jobKey  = CreateJobKey(job.JobName, job.JobGroupName);
                var          jobData = _scheduler.GetJobDetail(jobKey).GetAwaiter().GetResult();
                JobDataModel model   = new JobDataModel();
                model.CallbackUrl    = jobData.JobDataMap[JobConfig.CallbackUrl].ToString();
                model.CallbackParams = JobUtils.GetDictFromString(jobData.JobDataMap[JobConfig.CallbackParams].ToString());

                bool isSameParams = IsSameParam(job, model);
                if (isSameParams)
                {
                    return(ModifyJobCron(job));
                }
                else
                {
                    bool bl = DeleteJob(job);
                    if (bl)
                    {
                        return(AddHttpJob(job));
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            return(false);
        }
Пример #2
0
        public bool AddHttpJob(JobParamHttpModel job)
        {
            try
            {
                JobKey jobKey = CreateJobKey(job.JobName, job.JobGroupName);
                var    bl     = _scheduler.CheckExists(jobKey).GetAwaiter().GetResult();
                if (!bl)
                {
                    var jobbuilder = JobBuilder.Create <HttpJob>()
                                     .WithIdentity(jobKey)
                                     .UsingJobData(JobConfig.CallbackUrl, job.CallbackUrl);

                    var param = JobUtils.GetDictToString(job.CallbackParams);
                    if (!string.IsNullOrEmpty(param))
                    {
                        jobbuilder.UsingJobData(JobConfig.CallbackParams, JobUtils.GetDictToString(job.CallbackParams));
                    }

                    var jobDetail = jobbuilder.Build();

                    ITrigger trigger = CreateTrigger(job, jobKey);

                    _scheduler.ScheduleJob(jobDetail, trigger).GetAwaiter().GetResult();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            return(false);
        }
Пример #3
0
 public bool UpdateHttpJob(JobParamHttpModel job)
 {
     try
     {
         JobKey       jobKey       = CreateJobKey(job.JobName, job.JobGroupName);
         JobDataModel jobData      = Xml.XmlJobManage.GetJobDataByKey(jobKey);
         bool         isSameParams = IsSameParam(job, jobData);
         if (isSameParams)
         {
             return(ModifyJobCron(job));
         }
         else
         {
             bool bl = DeleteJob(job);
             if (bl)
             {
                 return(AddHttpJob(job));
             }
         }
     }
     catch (Exception ex)
     {
         logger.Error(ex);
     }
     return(false);
 }
        public JsonResult CreateJob(JobHttpModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BaseJson(MsgCode.Failed, "数据验证失败"));
            }

            JobParamHttpModel jobParam = new JobParamHttpModel();

            jobParam.JobName        = model.JobName;
            jobParam.CronExpression = model.CronExpression;
            jobParam.CallbackUrl    = model.CallbackUrl;
            jobParam.CallbackParams = GetParaDict(model.CallbackParams);

            bool bl = _job.AddHttpJob(jobParam);

            if (bl)
            {
                return(BaseJson(MsgCode.Success, "创建成功"));
            }
            else
            {
                return(BaseJson(MsgCode.Failed, "创建失败"));
            }
        }
Пример #5
0
 public static JobParamBaseModel GetJobParamBase(string jobName, string jobGroupName)
 {
     if (jobGroupName.Contains(JobConfig.JobGroupNameHttp))
     {
         JobParamHttpModel model = new JobParamHttpModel();
         model.JobName = jobName;
         return(model);
     }
     else
     {
         JobParamAssemblyModel model = new JobParamAssemblyModel();
         model.JobName = jobName;
         return(model);
     }
 }
        /// <summary>
        /// 参数是否相同
        /// </summary>
        /// <returns></returns>
        protected bool IsSameParam(JobParamHttpModel job, JobDataModel data)
        {
            string map = JobUtils.GetDictToString(data.CallbackParams);

            string newParam = JobUtils.GetDictToString(job.CallbackParams);

            if (data.CallbackUrl != job.CallbackUrl)
            {
                return(false);
            }

            if (map.ToString() != newParam)
            {
                return(false);
            }

            return(true);
        }
        public JsonResult ModifyJob(UpdateJobModel model)
        {
            JobParamHttpModel jobParam = new JobParamHttpModel();

            jobParam.JobName        = model.JobName;
            jobParam.CronExpression = model.CronExpression;
            jobParam.CallbackUrl    = model.CallbackUrl;
            jobParam.CallbackParams = GetParaDict(model.CallbackParams);

            bool bl = _job.UpdateHttpJob(jobParam);

            if (bl)
            {
                return(BaseJson(MsgCode.Success, "修改成功"));
            }
            else
            {
                return(BaseJson(MsgCode.Failed, "修改失败"));
            }
        }
Пример #8
0
 public bool UpdateHttpJob(JobParamHttpModel job)
 {
     return(_jobStore.UpdateHttpJob(job));
 }
Пример #9
0
 public bool AddHttpJob(JobParamHttpModel job)
 {
     return(_jobStore.AddHttpJob(job));
 }