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<E extends ApplicationEvent> extends Abstr
JobAlarmInfo jobAlarmInfo = AlarmInfoConverter.INSTANCE.toJobAlarmInfo(jobBatchResponseDO);
JobAlarmInfo alarmInfo = jobAlarmInfoGroupMap.get(jobBatchResponseDO.getId());
jobAlarmInfo.setReason(alarmInfo.getReason());
+ jobAlarmInfo.setNotifyScene(alarmInfo.getNotifyScene());
List<JobAlarmInfo> 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<E extends ApplicationEvent> extends
WorkflowAlarmInfo workflowAlarmInfo = AlarmInfoConverter.INSTANCE.toWorkflowAlarmInfo(workflowBatchResponseDO);
WorkflowAlarmInfo alarmInfo = workflowAlarmInfoGroupMap.get(workflowAlarmInfo.getId());
workflowAlarmInfo.setReason(alarmInfo.getReason());
+ workflowAlarmInfo.setNotifyScene(alarmInfo.getNotifyScene());
List<WorkflowAlarmInfo> 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<JobTaskFailAlarmE
alarmDTO.getGroupName(),
alarmDTO.getJobName(),
alarmDTO.getExecutorInfo(),
- JobOperationReasonEnum.getByReason(alarmDTO.getOperationReason()).getDesc(),
+ JobNotifySceneEnum.getJobNotifyScene(alarmDTO.getNotifyScene()).getDesc(),
alarmDTO.getReason(),
alarmDTO.getArgsStr(),
DateUtils.toNowFormat(DateUtils.NORM_DATETIME_PATTERN))
diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/WorkflowTaskFailAlarmListener.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/WorkflowTaskFailAlarmListener.java
index 7a7d1ad8..5dcf8915 100644
--- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/WorkflowTaskFailAlarmListener.java
+++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/alarm/listener/WorkflowTaskFailAlarmListener.java
@@ -74,7 +74,7 @@ public class WorkflowTaskFailAlarmListener extends AbstractWorkflowAlarm<Workflo
alarmDTO.getNamespaceId(),
alarmDTO.getGroupName(),
alarmDTO.getWorkflowName(),
- JobOperationReasonEnum.getByReason(alarmDTO.getOperationReason()).getDesc(),
+ JobOperationReasonEnum.getWorkflowNotifyScene(alarmDTO.getOperationReason()).getDesc(),
alarmDTO.getReason(),
DateUtils.toNowFormat(DateUtils.NORM_DATETIME_PATTERN))
.title("{}环境 Workflow任务执行失败", EnvironmentUtils.getActiveProfile());
diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/timer/JobTimeoutCheckTask.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/timer/JobTimeoutCheckTask.java
index e7e458e5..7aff4ed6 100644
--- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/timer/JobTimeoutCheckTask.java
+++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/timer/JobTimeoutCheckTask.java
@@ -69,13 +69,14 @@ public class JobTimeoutCheckTask implements TimerTask<String> {
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(),