定时任务队列异常处理

yun-zuoyi
yunhao.wang 6 years ago
parent 2cbffd777d
commit d94b94335a

@ -51,44 +51,46 @@ public class ScheduleQueueReceiver {
LOGGER.info("【MQ-IMPP_SCHEDULE_QUEUE】数据接收成功{}",logTaskTime); LOGGER.info("【MQ-IMPP_SCHEDULE_QUEUE】数据接收成功{}",logTaskTime);
// 跟新最后执行时间 及 任务状态 // 跟新最后执行时间 及 任务状态
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(),logTaskTime.getGroupName()); SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(),logTaskTime.getGroupName());
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime()); if (taskPlan != null) {
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNum() + 1); taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus()); taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNum() + 1);
// 更新任务状态以及最后执行时间 taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
sysTaskPlanService.updateSysTaskPlan(taskPlan); // 更新任务状态以及最后执行时间
sysTaskPlanService.updateSysTaskPlan(taskPlan);
// 添加定时任务日志 // 添加定时任务日志
logTaskTime.setTaskPlanId(taskPlan.getId()); logTaskTime.setTaskPlanId(taskPlan.getId());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd()); logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd()); logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime); sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
// 定时任务失败通知 // 定时任务失败通知
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus() if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) { && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
// 设置通知邮件内容 // 设置通知邮件内容
SysMessage sysMessage = new SysMessage(); SysMessage sysMessage = new SysMessage();
sysMessage.setMessageSenderNameRdd("系统管理员"); sysMessage.setMessageSenderNameRdd("系统管理员");
sysMessage.setMessageTitle("任务计划失败通知"); sysMessage.setMessageTitle("任务计划失败通知");
sysMessage.setMessageContent( sysMessage.setMessageContent(
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>", String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
taskPlan.getName(),taskPlan.getGroupName(),logTaskTime.getId()) taskPlan.getName(),taskPlan.getGroupName(),logTaskTime.getId())
); );
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageSendTime(TimeTool.getNowTime(true)); sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// 是否内部成员 // 是否内部成员
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) { if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
sysMessage.setMessageReceiversId(PlatformConstWords.EXTERNAL_MAIL); sysMessage.setMessageReceiversId(PlatformConstWords.EXTERNAL_MAIL);
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel()); sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
} }
// 发送到对应处理队列 // 发送到对应处理队列
if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()){ if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()){
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE,sysMessage); rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE,sysMessage);
}else{ }else{
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE,sysMessage); rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE,sysMessage);
}
} }
} }

Loading…
Cancel
Save