fix(sj_1.3.0-beta1.1):

1、修复重试场景重试数量超过阈值定时任务告警空指针异常
This commit is contained in:
zhengweilin 2025-01-11 21:38:55 +08:00 committed by opensnail
parent c6e1bc6dff
commit 5ba5467e4c
3 changed files with 16 additions and 2 deletions

View File

@ -3,7 +3,6 @@ package com.aizuda.snailjob.server.retry.task.support.schedule;
import cn.hutool.core.collection.CollUtil;
import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.enums.StatusEnum;
import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.core.util.StreamUtils;
import com.aizuda.snailjob.server.common.Lifecycle;
import com.aizuda.snailjob.server.common.dto.PartitionTask;
@ -21,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.*;
@ -30,6 +30,7 @@ import java.util.*;
* @date 2025-01-11
* @since 1.3.0-beta1.1
*/
@Slf4j
public abstract class AbstractRetryTaskAlarmSchedule extends AbstractSchedule implements Lifecycle {
@Autowired
protected AccessTemplate accessTemplate;
@ -61,6 +62,7 @@ public abstract class AbstractRetryTaskAlarmSchedule extends AbstractSchedule im
protected abstract void doSendAlarm(RetrySceneConfigPartitionTask partitionTask, Map<Long, NotifyConfigDTO> notifyConfigInfo);
protected abstract RetryNotifySceneEnum getNotifyScene();
/**
* 获取需要处理的配置信息
@ -107,7 +109,7 @@ public abstract class AbstractRetryTaskAlarmSchedule extends AbstractSchedule im
.list(new LambdaQueryWrapper<NotifyConfig>()
.in(NotifyConfig::getId, retryNotifyIds)
.eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus())
.eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY_ERROR.getNotifyScene())
.eq(NotifyConfig::getNotifyScene, getNotifyScene().getNotifyScene())
.orderByAsc(NotifyConfig::getId)));
if (CollUtil.isEmpty(notifyConfigs)) {
return Maps.newHashMap();

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import com.aizuda.snailjob.common.core.alarm.Alarm;
import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
import com.aizuda.snailjob.server.common.Lifecycle;
import com.aizuda.snailjob.server.common.util.DateUtils;
@ -98,6 +99,11 @@ public class RetryErrorMoreThresholdAlarmSchedule extends AbstractRetryTaskAlarm
}
}
@Override
protected RetryNotifySceneEnum getNotifyScene() {
return RetryNotifySceneEnum.MAX_RETRY_ERROR;
}
@Override
public String lockName() {

View File

@ -2,6 +2,7 @@ package com.aizuda.snailjob.server.retry.task.support.schedule;
import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.enums.RetryNotifySceneEnum;
import com.aizuda.snailjob.common.core.enums.RetryStatusEnum;
import com.aizuda.snailjob.common.core.util.EnvironmentUtils;
import com.aizuda.snailjob.server.common.Lifecycle;
@ -92,6 +93,11 @@ public class RetryTaskMoreThresholdAlarmSchedule extends AbstractRetryTaskAlarmS
}
@Override
protected RetryNotifySceneEnum getNotifyScene() {
return RetryNotifySceneEnum.MAX_RETRY;
}
@Override
public String lockName() {
return "retryTaskMoreThreshold";