From 538298833db77344b8b3f1c558aba7088096aa4b Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Mon, 22 Jan 2024 23:04:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=202.6.0=201.=20=E5=B9=BF=E6=92=AD?= =?UTF-8?q?=E7=9B=B8=E5=90=8CIP=E9=87=8D=E5=A4=8D=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/task/BroadcastTaskGenerator.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java index 9c652324c..d2fb9c840 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java @@ -18,10 +18,9 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.Set; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; /** * @author www.byteblogs.com @@ -49,8 +48,15 @@ public class BroadcastTaskGenerator extends AbstractJobTaskGenerator { return Lists.newArrayList(); } + Set clientInfoSet = new HashSet<>(serverNodes.size()); List jobTasks = new ArrayList<>(serverNodes.size()); for (RegisterNodeInfo serverNode : serverNodes) { + // 若存在相同的IP信息则去重 + String address = serverNode.address(); + if (clientInfoSet.contains(address)) { + continue; + } + JobTask jobTask = JobTaskConverter.INSTANCE.toJobTaskInstance(context); jobTask.setClientInfo(ClientInfoUtils.generate(serverNode)); jobTask.setArgsType(context.getArgsType()); @@ -58,6 +64,7 @@ public class BroadcastTaskGenerator extends AbstractJobTaskGenerator { jobTask.setTaskStatus(JobTaskStatusEnum.RUNNING.getStatus()); jobTask.setResultMessage(Optional.ofNullable(jobTask.getResultMessage()).orElse(StrUtil.EMPTY)); Assert.isTrue(1 == jobTaskMapper.insert(jobTask), () -> new EasyRetryServerException("新增任务实例失败")); + clientInfoSet.add(address); jobTasks.add(jobTask); }