From 7844946f633f22a29e61799f2d23484e7c617f4a Mon Sep 17 00:00:00 2001 From: wodeyangzipingpingwuqi Date: Tue, 24 Dec 2024 18:00:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.3.0-beta1):=201=E3=80=81=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=87=8D=E8=AF=95=E5=9C=BA=E6=99=AF=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E9=85=8D=E7=BD=AE=202=E3=80=81=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B7=A5=E4=BD=9C=E6=B5=81=E4=BB=BB=E5=8A=A1=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E9=80=9A=E7=9F=A5=E9=85=8D=E7=BD=AE=203=E3=80=81?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E4=BB=BB=E5=8A=A1=E6=96=B0=E5=A2=9E=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/access/ConfigAccess.java | 9 ++++ .../access/config/AbstractConfigAccess.java | 12 +++++ .../dataobject/WorkflowBatchResponseDO.java | 5 ++ .../mapper/WorkflowTaskBatchMapper.xml | 3 +- .../server/common/AlarmInfoConverter.java | 22 +------- .../server/common/alarm/AbstractAlarm.java | 13 +++-- .../server/common/alarm/AbstractJobAlarm.java | 47 ++++++++++++----- .../common/alarm/AbstractRetryAlarm.java | 50 +++++++++++++------ .../common/alarm/AbstractWorkflowAlarm.java | 46 ++++++++++++----- .../snailjob/server/common/dto/AlarmInfo.java | 10 ++-- .../dto/WorkflowTaskFailAlarmEventDTO.java | 29 +++++++++++ .../job/task/support/JobTaskConverter.java | 12 +++-- .../task/support/WorkflowTaskConverter.java | 11 ++-- .../event/WorkflowTaskFailAlarmEvent.java | 9 ++-- .../listener/JobTaskFailAlarmListener.java | 22 +++----- .../WorkflowTaskFailAlarmListener.java | 33 ++++++------ .../support/dispatch/JobExecutorActor.java | 8 ++- .../dispatch/WorkflowExecutorActor.java | 17 ++++--- .../executor/job/RequestClientActor.java | 3 ++ .../workflow/CallbackWorkflowExecutor.java | 7 ++- .../workflow/DecisionWorkflowExecutor.java | 8 ++- .../support/handler/WorkflowBatchHandler.java | 16 +++++- .../RunningWorkflowPrepareHandler.java | 17 ++++--- .../job/AbstractJobExecutorResultHandler.java | 2 + .../support/timer/JobTimeoutCheckTask.java | 3 ++ .../timer/WorkflowTimeoutCheckTask.java | 13 ++++- .../retry/task/dto/RetryTaskExecutorDTO.java | 7 +-- .../task/dto/RetryTaskFailAlarmEventDTO.java | 48 ++++++++++++++++++ .../retry/task/support/RetryContext.java | 7 +++ .../task/support/RetryTaskConverter.java | 22 ++++++-- .../MaxAttemptsPersistenceRetryContext.java | 5 ++ .../dispatch/actor/result/FailureActor.java | 17 +++++-- .../dispatch/actor/result/FinishActor.java | 9 ++-- .../event/RetryTaskFailAlarmEvent.java | 10 ++-- .../listener/RetryTaskFailAlarmListener.java | 17 +++---- .../task/support/retry/RetryExecutor.java | 12 ++--- .../support/strategy/FilterStrategies.java | 10 ++-- 37 files changed, 410 insertions(+), 181 deletions(-) create mode 100644 snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/dto/WorkflowTaskFailAlarmEventDTO.java rename snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/dataobject/RetryTaskFailAlarmEventDO.java => snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/dto/RetryTaskExecutorDTO.java (78%) create mode 100644 snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/dto/RetryTaskFailAlarmEventDTO.java diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/ConfigAccess.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/ConfigAccess.java index 7a19fc2e..e64c157a 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/ConfigAccess.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/ConfigAccess.java @@ -37,6 +37,15 @@ public interface ConfigAccess extends Access { */ RetrySceneConfig getSceneConfigByGroupNameAndSceneName(String groupName, String sceneName, String namespaceId); + /** + * 获取场景配置集合 + * + * @param groupNames 组名称 + * @param sceneNames 场景名称 + * @param namespaceIds 命名空间 + * @return {@link RetrySceneConfig} 场景配置 + */ + List getSceneConfigByGroupNameAndSceneNameList(Set groupNames, Set sceneNames, Set namespaceIds); /** * 获取通知配置 diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java index e2414ad8..573963d4 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java @@ -63,6 +63,13 @@ public abstract class AbstractConfigAccess implements ConfigAccess { .eq(RetrySceneConfig::getSceneName, sceneName)); } + protected List getByGroupNameAndSceneNameList(Set groupNames, Set sceneNames, Set namespaceIds) { + return sceneConfigMapper.selectList(new LambdaQueryWrapper() + .in(RetrySceneConfig::getNamespaceId, namespaceIds) + .in(RetrySceneConfig::getGroupName, groupNames) + .in(RetrySceneConfig::getSceneName, sceneNames)); + } + protected List getSceneConfigs(String groupName) { return sceneConfigMapper.selectList(new LambdaQueryWrapper() .eq(RetrySceneConfig::getGroupName, groupName)); @@ -94,6 +101,11 @@ public abstract class AbstractConfigAccess implements ConfigAccess { return getByGroupNameAndSceneName(groupName, sceneName, namespaceId); } + @Override + public List getSceneConfigByGroupNameAndSceneNameList(Set groupNames, Set sceneNames, Set namespaceIds) { + return getByGroupNameAndSceneNameList(groupNames, sceneNames, namespaceIds); + } + @Override public List getNotifyListConfigByGroupName(String groupName, String namespaceId) { return getNotifyConfigs(groupName, namespaceId); diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/dataobject/WorkflowBatchResponseDO.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/dataobject/WorkflowBatchResponseDO.java index efb4de07..7572eec3 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/dataobject/WorkflowBatchResponseDO.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/dataobject/WorkflowBatchResponseDO.java @@ -53,4 +53,9 @@ public class WorkflowBatchResponseDO { * 创建时间 */ private LocalDateTime createDt; + + /** + * 通知配置 + */ + private String notifyIds; } diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/WorkflowTaskBatchMapper.xml b/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/WorkflowTaskBatchMapper.xml index dee45f47..e69780de 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/WorkflowTaskBatchMapper.xml +++ b/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/WorkflowTaskBatchMapper.xml @@ -15,7 +15,8 @@