From 13943cd7e285f222acf5263812386788fc341f8c Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Tue, 3 Jun 2025 18:51:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=9B=B8=E5=85=B3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/manager/impl/MemoryLogManager.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java index d2ab5801..f2d52adf 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java @@ -10,6 +10,7 @@ import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.IOException; @@ -121,6 +122,11 @@ public class MemoryLogManager implements LoggerManager { pipTaskLog.setContent(pipTaskLog.getContent()+logCache.toString()); updateList.add(pipTaskLog); taskIdDbMap.remove(taskId); + taskIdMemoryLogMap.remove(taskId); + List sseEmitters = taskIdSSEMap.get(taskId); + if (!CollectionUtils.isEmpty(sseEmitters)) { + sseEmitters.forEach(ResponseBodyEmitter::complete); + } // logDao.updateById(pipTaskLog); } else { // 不存在就新增 @@ -130,6 +136,12 @@ public class MemoryLogManager implements LoggerManager { // logDao.insert(pipTaskLog); // taskIdDbMap.put(taskId,pipTaskLog.getId()); insertList.add(pipTaskLog); + taskIdDbMap.remove(taskId); + taskIdMemoryLogMap.remove(taskId); + List sseEmitters = taskIdSSEMap.get(taskId); + if (!CollectionUtils.isEmpty(sseEmitters)) { + sseEmitters.forEach(ResponseBodyEmitter::complete); + } } } }