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); }
public Task Execute(IJobExecutionContext context) { try { JobDataMap dataMap = context.JobDetail.JobDataMap; string callbackUrl = dataMap.GetString(JobConfig.CallbackUrl); Dictionary <string, string> param = new Dictionary <string, string>(); if (dataMap.ContainsKey(JobConfig.CallbackParams)) { string callbackParams = dataMap.GetString(JobConfig.CallbackParams); param = JobUtils.GetDictFromString(callbackParams); } var result = JobUtils.GetHttpPost(callbackUrl, param); log.Info(result); string res = LogConfig.ExecuteResultSuccess; if (!string.IsNullOrEmpty(result)) { res = $"{res} {result}"; } SchedulerLog.Instance.LogRun(context, res); if (context.JobDetail.Key.Group == JobConfig.JobGroupNameOnce) { context.Scheduler.DeleteJob(context.JobDetail.Key).GetAwaiter().GetResult(); } } catch (Exception ex) { SchedulerLog.Instance.LogRun(context, LogConfig.ExecuteResultFailed); StringBuilder sb = new StringBuilder(); JobUtils.GetErrMessage(ex, sb); SchedulerLog.Instance.LogErr(context, sb.ToString()); log.Error(ex); } return(Task.FromResult(true)); }