public SMSSend() { departmentBLL = new P_DepartmentInfoBLL(); groupBLL = new P_GroupBLL(); personBLL = new P_PersonInfoBLL(); jobTemplateBLL = new J_JobTemplateBLL(); jobInfoBLL = new J_JobInfoBLL(); userInfoBLL = new UserInfoBLL(); smsContentBLL = new S_SMSContentBLL(); smsRecord_CurrentBLL = new S_SMSRecord_CurrentBLL(); SetRedisProperties(); }
public void Execute(IJobExecutionContext context) { ThreadPool.QueueUserWorkItem(delegate (Object o) { IJ_JobInfoBLL jobBLL = new J_JobInfoBLL(); try { //DoApplication.WriteLogFile(context.JobDetail.Key.Group + "---" + context.JobDetail.Key.Name + "---" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "---" + context.NextFireTimeUtc.Value.DateTime.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss")); //jobBLL.GetListBy //var sm = new WJ_ScheduleManage().GetScheduleModel(new WJ_ScheduleEntity() { JobGroup = context.JobDetail.Key.Group, JobName = context.JobDetail.Key.Name }); // J_JobInfo jobModel = new J_JobInfo() { JobName = context.JobDetail.Key.Name, //JobValue=context.JobDetail.Key.Group, //State=1,//执行中 }; jobBLL.Create(jobModel); //new WJ_ScheduleManage().UpdateScheduleRunStatus(new WJ_ScheduleEntity() { JobGroup = context.JobDetail.Key.Group, JobName = context.JobDetail.Key.Name, RunStatus = (int)ADJ.Job.Entity.EnumType.JobRunStatus.执行中 }); //ESBRequest req = new ESBRequest(sm.ServiceCode, sm.ApiCode); //DataResult result = req.Request(); //new WJ_ScheduleManage().UpdateScheduleRunStatus(new WJ_ScheduleEntity() { JobGroup = context.JobDetail.Key.Group, JobName = context.JobDetail.Key.Name, RunStatus = (int)ADJ.Job.Entity.EnumType.JobRunStatus.待运行 }); //if (result.Code == 1) //{ // #region 加入执行明细 // WJ_ScheduleDetailsEntity dm = new WJ_ScheduleDetailsEntity(); // dm.ActionDescribe = "执行完成:" + result.Message; // dm.ActionStep = (int)ADJ.Job.Entity.EnumType.JobStep.执行完成; // dm.CreateTime = DateTime.Now; // dm.JobGroup = context.JobDetail.Key.Group; // dm.JobName = context.JobDetail.Key.Name; // dm.IsSuccess = 1; // new WJ_ScheduleManage().AddScheduleDetails(dm); // #endregion //} //else //{ // #region 加入执行明细 // WJ_ScheduleDetailsEntity dm = new WJ_ScheduleDetailsEntity(); // dm.ActionDescribe = "执行任务计划中,执行计划过程出错." + result.Message; // dm.ActionStep = (int)ADJ.Job.Entity.EnumType.JobStep.执行任务计划中; // dm.CreateTime = DateTime.Now; // dm.JobGroup = context.JobDetail.Key.Group; // dm.JobName = context.JobDetail.Key.Name; // dm.IsSuccess = 0; // new WJ_ScheduleManage().AddScheduleDetails(dm); // #endregion //} //new WJ_ScheduleManage().UpdateScheduleNextTime(new WJ_ScheduleEntity() { JobGroup = context.JobDetail.Key.Group, JobName = context.JobDetail.Key.Name, NextTime = context.NextFireTimeUtc.Value.DateTime.AddHours(8) }); } catch (Exception ex) { //#region 加入执行明细 //WJ_ScheduleDetailsEntity dm = new WJ_ScheduleDetailsEntity(); //dm.ActionDescribe = "执行任务计划中,执行计划过程出错:" + ex.Message + "/r/n" + ex.StackTrace; //dm.ActionStep = (int)ADJ.Job.Entity.EnumType.JobStep.执行任务计划中; //dm.CreateTime = DateTime.Now; //dm.JobGroup = context.JobDetail.Key.Group; //dm.JobName = context.JobDetail.Key.Name; //dm.IsSuccess = 0; //new WJ_ScheduleManage().AddScheduleDetails(dm); //#endregion //DoApplication.WriteLogFile(ex.Message + "\r\n" + ex.StackTrace); } }); }
public void ExceutedTest(IJobExecutionContext context) { if (jobInfoBLL == null) { jobInfoBLL = new J_JobInfoBLL(); } if (userInfoBLL == null) { userInfoBLL = new UserInfoBLL(); } if (qrtz_triggerBLL == null) { qrtz_triggerBLL = new QRTZ_TRIGGERSBLL(); } #region 11月8日测试修改数据库的bug,现注释 //11月8日测试修改数据库的bug,现注释 //var targetJob = jobInfoBLL.GetListBy(j => j.JID == 18).FirstOrDefault(); //if (targetJob != null) //{ // targetJob.JobState = 2; //} //jobInfoBLL.Update(targetJob); #endregion //向数据库中写入 //获取JobDataMap var data = context.JobDetail.JobDataMap; //1 需要传入一个用户id var uid = data.GetInt("UID"); if (uid != 0) { //var uid_int = int.Parse(uid); var user_temp = userInfoBLL.GetListBy(u => u.ID == uid).FirstOrDefault(); //2 根据用户id查询查询该用户所拥有的作业 var list = userInfoBLL.GetJobListByUser(user_temp.ID); //3 取出对应的作业 //取出的context.JobDetail.Key.Name实际为JID //**查错,暂时注释** var targetJob = (from j in list where j.JID == Convert.ToInt32(context.JobDetail.Key.Name) /*&& j.JobGroup == context.JobDetail.Key.Group*/ select j).FirstOrDefault(); PMS.BLL.J_JobInfoBLL job_temp = new PMS.BLL.J_JobInfoBLL(); //UpdateJobState(targetJob); //4 若存在则更新作业状态 //**查错,暂时注释** if (targetJob != null) { //4 更新作业状态的思路 //4-1 获取trigger的状态 var trigger_temp = qrtz_triggerBLL.GetListBy(t => t.TRIGGER_NAME == context.JobDetail.Key.Name).FirstOrDefault(); //注意若完成时其中的 if (trigger_temp != null) { var dic = PMS.Model.Dictionary.Quartz_TriggerStateDictionary.GetResponseCode(); //4-2获取trigger其他状态 //1)修改往数据库中写入的作业状态 targetJob.JobState = dic[trigger_temp.TRIGGER_STATE == null ? "null" : trigger_temp.TRIGGER_STATE]; //2)修改作业结束时间(世界时需+8) targetJob.EndRunTime = context.Trigger.EndTimeUtc.GetValueOrDefault().DateTime.AddHours(8); //3)修改作业下次执行时间(世界时需+8) if (context.Trigger.GetNextFireTimeUtc() != null) { targetJob.NextRunTime = context.Trigger.GetNextFireTimeUtc().GetValueOrDefault().DateTime.AddHours(8); } } UpdateJobState(targetJob); } //4 若不存在则创建新的作业 } }