diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobNotifySceneEnum.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobNotifySceneEnum.java index 4758c1d7..7b747e8e 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobNotifySceneEnum.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobNotifySceneEnum.java @@ -1,5 +1,6 @@ package com.aizuda.snailjob.common.core.enums; +import cn.hutool.core.util.StrUtil; import lombok.AllArgsConstructor; import lombok.Getter; @@ -14,6 +15,7 @@ import lombok.Getter; public enum JobNotifySceneEnum { /********************************Job****************************************/ + NONE(0, StrUtil.EMPTY, NodeTypeEnum.SERVER), JOB_TASK_ERROR(1, "JOB任务执行失败", NodeTypeEnum.SERVER), JOB_CLIENT_ERROR(2, "客户端执行失败", NodeTypeEnum.CLIENT), JOB_NO_CLIENT_NODES_ERROR(3, "没有可执行的客户端节点", NodeTypeEnum.SERVER), @@ -50,8 +52,22 @@ public enum JobNotifySceneEnum { } } - return null; + return NONE; } + /** + * 获取通知场景描述 + * + * @param notifyScene + * @return + */ + public static JobNotifySceneEnum getJobNotifyScene(Integer notifyScene) { + for (JobNotifySceneEnum sceneEnum : JobNotifySceneEnum.values()) { + if (sceneEnum.getNotifyScene() == notifyScene) { + return sceneEnum; + } + } + return NONE; + } } diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobOperationReasonEnum.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobOperationReasonEnum.java index 4ffce3ea..f2996d9d 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobOperationReasonEnum.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/JobOperationReasonEnum.java @@ -6,7 +6,6 @@ import lombok.Getter; import java.util.Arrays; import java.util.List; -import java.util.Objects; /** * 标识某个操作的具体原因 @@ -48,10 +47,14 @@ public enum JobOperationReasonEnum { WORKFLOW_NODE_NO_REQUIRED.getReason(), WORKFLOW_DECISION_FAILED.getReason(), WORKFLOW_CONDITION_NODE_EXECUTION_ERROR.getReason()); - public static JobOperationReasonEnum getByReason(Integer reason) { - if (Objects.isNull(reason)) { - return NONE; + public static JobOperationReasonEnum getWorkflowNotifyScene(Integer notifyScene) { + for (JobOperationReasonEnum sceneEnum : JobOperationReasonEnum.values()) { + if (sceneEnum.getReason() == notifyScene) { + return sceneEnum; + } } - return Arrays.stream(values()).filter(e -> reason.equals(e.reason)).findFirst().orElse(NONE); + + return NONE; } + } diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/RetryNotifySceneEnum.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/RetryNotifySceneEnum.java index e8386575..1d4db4e4 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/RetryNotifySceneEnum.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/RetryNotifySceneEnum.java @@ -4,9 +4,6 @@ import cn.hutool.core.util.StrUtil; import lombok.AllArgsConstructor; import lombok.Getter; -import java.util.Arrays; -import java.util.Objects; - /** * 通知场景枚举 * @@ -38,7 +35,7 @@ public enum RetryNotifySceneEnum { /** * 通知场景 */ - private final Integer notifyScene; + private final int notifyScene; /** * 描述 @@ -67,11 +64,14 @@ public enum RetryNotifySceneEnum { return null; } - public static RetryNotifySceneEnum getByDesc(Integer notifyScene) { - if (Objects.isNull(notifyScene)) { - return NONE; + public static RetryNotifySceneEnum getRetryNotifyScene(Integer notifyScene) { + for (RetryNotifySceneEnum sceneEnum : RetryNotifySceneEnum.values()) { + if (sceneEnum.getNotifyScene() == notifyScene) { + return sceneEnum; + } } - return Arrays.stream(values()).filter(e -> notifyScene.equals(e.getNotifyScene())).findFirst().orElse(NONE); + + return NONE; } } diff --git a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractJobAlarm.java b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractJobAlarm.java index bc2438e2..b01314b2 100644 --- a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractJobAlarm.java +++ b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractJobAlarm.java @@ -47,6 +47,7 @@ public abstract class AbstractJobAlarm extends Abstr JobAlarmInfo jobAlarmInfo = AlarmInfoConverter.INSTANCE.toJobAlarmInfo(jobBatchResponseDO); JobAlarmInfo alarmInfo = jobAlarmInfoGroupMap.get(jobBatchResponseDO.getId()); jobAlarmInfo.setReason(alarmInfo.getReason()); + jobAlarmInfo.setNotifyScene(alarmInfo.getNotifyScene()); List jobAlarmInfos = jobAlarmInfoMap.getOrDefault(jobNotifyId, Lists.newArrayList()); jobAlarmInfos.add(jobAlarmInfo); diff --git a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractWorkflowAlarm.java b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractWorkflowAlarm.java index 30da6d8e..138418af 100644 --- a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractWorkflowAlarm.java +++ b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/alarm/AbstractWorkflowAlarm.java @@ -46,6 +46,7 @@ public abstract class AbstractWorkflowAlarm extends WorkflowAlarmInfo workflowAlarmInfo = AlarmInfoConverter.INSTANCE.toWorkflowAlarmInfo(workflowBatchResponseDO); WorkflowAlarmInfo alarmInfo = workflowAlarmInfoGroupMap.get(workflowAlarmInfo.getId()); workflowAlarmInfo.setReason(alarmInfo.getReason()); + workflowAlarmInfo.setNotifyScene(alarmInfo.getNotifyScene()); List workflowAlarmInfos = workflowAlarmInfoMap.getOrDefault(workflowNotifyId, Lists.newArrayList()); workflowAlarmInfos.add(workflowAlarmInfo); diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/JobTaskFailAlarmListener.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/JobTaskFailAlarmListener.java index 19b11e84..d7f9be9f 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/JobTaskFailAlarmListener.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/JobTaskFailAlarmListener.java @@ -2,7 +2,6 @@ package com.aizuda.snailjob.server.job.task.support.alarm.listener; import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.enums.JobNotifySceneEnum; -import com.aizuda.snailjob.common.core.enums.JobOperationReasonEnum; import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.server.common.alarm.AbstractJobAlarm; @@ -81,7 +80,7 @@ public class JobTaskFailAlarmListener extends AbstractJobAlarm { stopJobContext.setWorkflowTaskBatchId(jobTaskBatch.getWorkflowTaskBatchId()); instanceInterrupt.stop(stopJobContext); + String reason = "超时中断.taskBatchId:[" + taskBatchId + "]"; SnailSpringContext.getContext().publishEvent( new JobTaskFailAlarmEvent(JobTaskFailAlarmEventDTO.builder() .jobTaskBatchId(taskBatchId) - .reason("超时中断.taskBatchId:[" + taskBatchId + "]") + .reason(reason) .notifyScene(JobNotifySceneEnum.JOB_TASK_ERROR.getNotifyScene()) .build())); - SnailJobLog.LOCAL.info("超时中断.taskBatchId:[{}]", taskBatchId); + SnailJobLog.LOCAL.info(reason); } @Override diff --git a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/listener/RetryTaskFailAlarmListener.java b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/listener/RetryTaskFailAlarmListener.java index 3a036d22..5ad31bf0 100644 --- a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/listener/RetryTaskFailAlarmListener.java +++ b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/listener/RetryTaskFailAlarmListener.java @@ -89,7 +89,7 @@ public class RetryTaskFailAlarmListener extends return AlarmContext.build().text(retryTaskDeadTextMessagesFormatter, EnvironmentUtils.getActiveProfile(), notifyConfig.getNotifyThreshold(), - RetryNotifySceneEnum.getByDesc(retryAlarmInfo.getNotifyScene()).getDesc(), + RetryNotifySceneEnum.getRetryNotifyScene(retryAlarmInfo.getNotifyScene()).getDesc(), retryAlarmInfo.getNamespaceId(), retryAlarmInfo.getGroupName(), retryAlarmInfo.getExecutorName(),