feat(sj_1.0.0): 优化重试告警场景类名

This commit is contained in:
opensnail 2024-04-19 18:30:10 +08:00
parent 699f716fc5
commit caaa5f9cc3
12 changed files with 27 additions and 29 deletions

View File

@ -14,7 +14,7 @@ import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.context.SpringContext; import com.aizuda.snailjob.common.core.context.SpringContext;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.enums.RetryResultStatusEnum; import com.aizuda.snailjob.common.core.enums.RetryResultStatusEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.model.SnailJobHeaders; import com.aizuda.snailjob.common.core.model.SnailJobHeaders;
@ -212,7 +212,7 @@ public class SnailRetryInterceptor implements MethodInterceptor, AfterAdvice, Se
try { try {
ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute( ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(
NotifySceneEnum.CLIENT_COMPONENT_ERROR.getNotifyScene()); RetryNotifySceneEnum.CLIENT_COMPONENT_ERROR.getNotifyScene());
if (Objects.nonNull(notifyAttribute)) { if (Objects.nonNull(notifyAttribute)) {
AlarmContext context = AlarmContext.build() AlarmContext context = AlarmContext.build()
.text(retryErrorMoreThresholdTextMessageFormatter, .text(retryErrorMoreThresholdTextMessageFormatter,

View File

@ -11,7 +11,7 @@ import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.context.SpringContext; import com.aizuda.snailjob.common.core.context.SpringContext;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.model.NettyResult; import com.aizuda.snailjob.common.core.model.NettyResult;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
@ -20,7 +20,6 @@ import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.core.window.Listener; import com.aizuda.snailjob.common.core.window.Listener;
import com.aizuda.snailjob.server.model.dto.ConfigDTO; import com.aizuda.snailjob.server.model.dto.ConfigDTO;
import com.aizuda.snailjob.server.model.dto.RetryTaskDTO; import com.aizuda.snailjob.server.model.dto.RetryTaskDTO;
import com.aizuda.snailjob.client.common.rpc.client.RequestBuilder;
import com.github.rholder.retry.*; import com.github.rholder.retry.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -108,7 +107,7 @@ public class ReportListener implements Listener<RetryTaskDTO> {
private void sendMessage(Throwable e) { private void sendMessage(Throwable e) {
try { try {
ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(NotifySceneEnum.CLIENT_REPORT_ERROR.getNotifyScene()); ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(RetryNotifySceneEnum.CLIENT_REPORT_ERROR.getNotifyScene());
if (Objects.isNull(notifyAttribute)) { if (Objects.isNull(notifyAttribute)) {
return; return;
} }

View File

@ -9,7 +9,7 @@ import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.context.SpringContext; import com.aizuda.snailjob.common.core.context.SpringContext;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.model.NettyResult; import com.aizuda.snailjob.common.core.model.NettyResult;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
@ -17,7 +17,6 @@ import com.aizuda.snailjob.common.core.util.NetUtil;
import com.aizuda.snailjob.common.core.util.JsonUtil; import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.server.model.dto.ConfigDTO; import com.aizuda.snailjob.server.model.dto.ConfigDTO;
import com.aizuda.snailjob.server.model.dto.RetryTaskDTO; import com.aizuda.snailjob.server.model.dto.RetryTaskDTO;
import com.aizuda.snailjob.client.common.rpc.client.RequestBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -92,7 +91,7 @@ public class SyncReport extends AbstractReport {
private void sendMessage(Throwable e) { private void sendMessage(Throwable e) {
try { try {
ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(NotifySceneEnum.CLIENT_REPORT_ERROR.getNotifyScene()); ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(RetryNotifySceneEnum.CLIENT_REPORT_ERROR.getNotifyScene());
if (Objects.isNull(notifyAttribute)) { if (Objects.isNull(notifyAttribute)) {
return; return;
} }

View File

@ -14,7 +14,7 @@ import com.aizuda.snailjob.client.core.retryer.RetryerResultContext;
import com.aizuda.snailjob.common.core.alarm.Alarm; import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
import com.aizuda.snailjob.common.core.util.NetUtil; import com.aizuda.snailjob.common.core.util.NetUtil;
@ -175,7 +175,7 @@ public abstract class AbstractRetryStrategies implements RetryStrategy {
private void sendMessage(Exception e) { private void sendMessage(Exception e) {
try { try {
ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(NotifySceneEnum.CLIENT_COMPONENT_ERROR.getNotifyScene()); ConfigDTO.Notify notifyAttribute = GroupVersionCache.getNotifyAttribute(RetryNotifySceneEnum.CLIENT_COMPONENT_ERROR.getNotifyScene());
if (Objects.nonNull(notifyAttribute)) { if (Objects.nonNull(notifyAttribute)) {
AlarmContext context = AlarmContext.build() AlarmContext context = AlarmContext.build()
.text(retryErrorMoreThresholdTextMessageFormatter, .text(retryErrorMoreThresholdTextMessageFormatter,

View File

@ -10,7 +10,7 @@ import lombok.Getter;
* @since : 1.0.0 * @since : 1.0.0
*/ */
@Getter @Getter
public enum NotifySceneEnum { public enum RetryNotifySceneEnum {
MAX_RETRY(1, "场景重试数量超过阈值", NodeTypeEnum.SERVER), MAX_RETRY(1, "场景重试数量超过阈值", NodeTypeEnum.SERVER),
@ -40,7 +40,7 @@ public enum NotifySceneEnum {
*/ */
private final String desc; private final String desc;
NotifySceneEnum(int notifyScene, String desc, NodeTypeEnum nodeType) { RetryNotifySceneEnum(int notifyScene, String desc, NodeTypeEnum nodeType) {
this.notifyScene = notifyScene; this.notifyScene = notifyScene;
this.desc = desc; this.desc = desc;
this.nodeType = nodeType; this.nodeType = nodeType;
@ -53,8 +53,8 @@ public enum NotifySceneEnum {
* @param nodeType 触发通知节点类型 * @param nodeType 触发通知节点类型
* @return this * @return this
*/ */
public static NotifySceneEnum getNotifyScene(int notifyScene, NodeTypeEnum nodeType) { public static RetryNotifySceneEnum getNotifyScene(int notifyScene, NodeTypeEnum nodeType) {
for (NotifySceneEnum sceneEnum : NotifySceneEnum.values()) { for (RetryNotifySceneEnum sceneEnum : RetryNotifySceneEnum.values()) {
if (sceneEnum.getNotifyScene() == notifyScene && sceneEnum.nodeType.getType().equals(nodeType.getType())) { if (sceneEnum.getNotifyScene() == notifyScene && sceneEnum.nodeType.getType().equals(nodeType.getType())) {
return sceneEnum; return sceneEnum;
} }

View File

@ -2,7 +2,7 @@ package com.aizuda.snailjob.server.model.dto;
import com.aizuda.snailjob.common.core.constant.SystemConstants; import com.aizuda.snailjob.common.core.constant.SystemConstants;
import com.aizuda.snailjob.common.core.enums.AlarmTypeEnum; import com.aizuda.snailjob.common.core.enums.AlarmTypeEnum;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -69,7 +69,7 @@ public class ConfigDTO {
private Integer notifyThreshold; private Integer notifyThreshold;
/** /**
* 场景场景 {@link NotifySceneEnum} * 场景场景 {@link RetryNotifySceneEnum}
*/ */
private Integer notifyScene; private Integer notifyScene;
} }

View File

@ -1,6 +1,6 @@
package com.aizuda.snailjob.template.datasource.access; package com.aizuda.snailjob.template.datasource.access;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.server.model.dto.ConfigDTO; import com.aizuda.snailjob.server.model.dto.ConfigDTO;
import com.aizuda.snailjob.template.datasource.persistence.po.GroupConfig; import com.aizuda.snailjob.template.datasource.persistence.po.GroupConfig;
import com.aizuda.snailjob.template.datasource.persistence.po.NotifyConfig; import com.aizuda.snailjob.template.datasource.persistence.po.NotifyConfig;
@ -48,7 +48,7 @@ public interface ConfigAccess<T> extends Access<T> {
* 获取通知配置 * 获取通知配置
* *
* @param groupName 组名称 * @param groupName 组名称
* @param notifyScene {@link NotifySceneEnum} 场景类型 * @param notifyScene {@link RetryNotifySceneEnum} 场景类型
* @return {@link NotifyConfig} 场景配置 * @return {@link NotifyConfig} 场景配置
*/ */
List<NotifyConfig> getNotifyConfigByGroupName(String groupName,Integer notifyScene, String namespaceId); List<NotifyConfig> getNotifyConfigByGroupName(String groupName,Integer notifyScene, String namespaceId);
@ -59,7 +59,7 @@ public interface ConfigAccess<T> extends Access<T> {
* *
* @param groupName 组名称 * @param groupName 组名称
* @param groupName 场景名称 * @param groupName 场景名称
* @param notifyScene {@link NotifySceneEnum} 场景类型 * @param notifyScene {@link RetryNotifySceneEnum} 场景类型
* @return {@link NotifyConfig} 场景配置 * @return {@link NotifyConfig} 场景配置
*/ */
@Deprecated @Deprecated

View File

@ -1,7 +1,7 @@
package com.aizuda.snailjob.template.datasource.access.config; package com.aizuda.snailjob.template.datasource.access.config;
import com.aizuda.snailjob.common.core.enums.NodeTypeEnum; import com.aizuda.snailjob.common.core.enums.NodeTypeEnum;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.server.model.dto.ConfigDTO; import com.aizuda.snailjob.server.model.dto.ConfigDTO;
import com.aizuda.snailjob.template.datasource.access.ConfigAccess; import com.aizuda.snailjob.template.datasource.access.ConfigAccess;
import com.aizuda.snailjob.template.datasource.enums.DbTypeEnum; import com.aizuda.snailjob.template.datasource.enums.DbTypeEnum;
@ -200,7 +200,7 @@ public abstract class AbstractConfigAccess<T> implements ConfigAccess<T> {
for (NotifyConfig notifyConfig : notifyList) { for (NotifyConfig notifyConfig : notifyList) {
// 只选择客户端的通知配置即可 // 只选择客户端的通知配置即可
NotifySceneEnum notifyScene = NotifySceneEnum.getNotifyScene(notifyConfig.getNotifyScene(), RetryNotifySceneEnum notifyScene = RetryNotifySceneEnum.getNotifyScene(notifyConfig.getNotifyScene(),
NodeTypeEnum.CLIENT); NodeTypeEnum.CLIENT);
if (Objects.isNull(notifyScene)) { if (Objects.isNull(notifyScene)) {
continue; continue;

View File

@ -1,7 +1,7 @@
package com.aizuda.snailjob.server.retry.task.support.listener; package com.aizuda.snailjob.server.retry.task.support.listener;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
import com.aizuda.snailjob.server.common.AlarmInfoConverter; import com.aizuda.snailjob.server.common.AlarmInfoConverter;
@ -94,6 +94,6 @@ public class RetryTaskFailDeadLetterAlarmListener extends AbstractRetryAlarm<Ret
@Override @Override
protected int getNotifyScene() { protected int getNotifyScene() {
return NotifySceneEnum.RETRY_TASK_ENTER_DEAD_LETTER.getNotifyScene(); return RetryNotifySceneEnum.RETRY_TASK_ENTER_DEAD_LETTER.getNotifyScene();
} }
} }

View File

@ -1,7 +1,7 @@
package com.aizuda.snailjob.server.retry.task.support.listener; package com.aizuda.snailjob.server.retry.task.support.listener;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
import com.aizuda.snailjob.server.common.AlarmInfoConverter; import com.aizuda.snailjob.server.common.AlarmInfoConverter;
@ -96,6 +96,6 @@ public class RetryTaskFailMoreThresholdAlarmListener extends
@Override @Override
protected int getNotifyScene() { protected int getNotifyScene() {
return NotifySceneEnum.RETRY_TASK_REACH_THRESHOLD.getNotifyScene(); return RetryNotifySceneEnum.RETRY_TASK_REACH_THRESHOLD.getNotifyScene();
} }
} }

View File

@ -3,7 +3,7 @@ package com.aizuda.snailjob.server.retry.task.support.schedule;
import com.aizuda.snailjob.common.core.alarm.Alarm; import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.enums.StatusEnum; import com.aizuda.snailjob.common.core.enums.StatusEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils; import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
@ -109,7 +109,7 @@ public class RetryErrorMoreThresholdAlarmSchedule extends AbstractSchedule imple
List<NotifyConfig> notifyConfigs = accessTemplate.getNotifyConfigAccess() List<NotifyConfig> notifyConfigs = accessTemplate.getNotifyConfigAccess()
.listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper<NotifyConfig>() .listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper<NotifyConfig>()
.eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus()) .eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus())
.eq(NotifyConfig::getNotifyScene, NotifySceneEnum.MAX_RETRY_ERROR.getNotifyScene())) .eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY_ERROR.getNotifyScene()))
.getRecords(); .getRecords();
return RetryTaskConverter.INSTANCE.toNotifyConfigPartitionTask(notifyConfigs); return RetryTaskConverter.INSTANCE.toNotifyConfigPartitionTask(notifyConfigs);

View File

@ -3,7 +3,7 @@ package com.aizuda.snailjob.server.retry.task.support.schedule;
import com.aizuda.snailjob.common.core.alarm.Alarm; import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.enums.NotifySceneEnum; import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.enums.RetryStatusEnum; import com.aizuda.snailjob.common.core.enums.RetryStatusEnum;
import com.aizuda.snailjob.common.core.enums.StatusEnum; import com.aizuda.snailjob.common.core.enums.StatusEnum;
import com.aizuda.snailjob.common.log.SnailJobLog; import com.aizuda.snailjob.common.log.SnailJobLog;
@ -105,7 +105,7 @@ public class RetryTaskMoreThresholdAlarmSchedule extends AbstractSchedule implem
List<NotifyConfig> notifyConfigs = accessTemplate.getNotifyConfigAccess() List<NotifyConfig> notifyConfigs = accessTemplate.getNotifyConfigAccess()
.listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper<NotifyConfig>() .listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper<NotifyConfig>()
.eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus()) .eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus())
.eq(NotifyConfig::getNotifyScene, NotifySceneEnum.MAX_RETRY.getNotifyScene()) .eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY.getNotifyScene())
.orderByDesc(NotifyConfig::getId)) // SQLServer 分页必须 ORDER BY .orderByDesc(NotifyConfig::getId)) // SQLServer 分页必须 ORDER BY
.getRecords(); .getRecords();