From 06b1bea076a1d03c37594281c78988381f03ef20 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Thu, 29 May 2025 10:40:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=BB=E5=A1=9E=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ci/process/engine/dispatcher/impl/SerialDispatcher.java | 1 + .../cd/casic/ci/process/engine/runContext/BaseRunContext.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/SerialDispatcher.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/SerialDispatcher.java index 5286257d..a957eb8a 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/SerialDispatcher.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/SerialDispatcher.java @@ -49,6 +49,7 @@ public class SerialDispatcher implements BaseDispatcher { // TODO 监听当前taskContext状态变成执行成功或者执行失败(worker当中改变状态为运行中、执行成功、执行失败) AtomicInteger state = taskRunContext.getState(); + // 如果不为正常执行成功就暂时阻塞直到有状态更改 while (state.get() != ContextStateEnum.HAPPY_ENDING.getCode() // && state.get() != ContextStateEnum.BAD_ENDING.getCode() ) { diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java index 4b134464..ba375307 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java @@ -71,6 +71,8 @@ public abstract class BaseRunContext { ContextStateEnum curr = ContextStateEnum.getByCode(state.get()); if (ContextStateEnum.canGoto(curr,stateEnum)) { state.compareAndExchange(curr.getCode(),stateEnum.getCode()); + // 如果之前有暂停监听状态的.则停止暂停 + unpause(); callParentChange(stateEnum); } } @@ -88,8 +90,6 @@ public abstract class BaseRunContext { if (parentContext==null) { return; } - // 如果之前有暂停监听状态的.则停止暂停 - unpause(); if (ContextStateEnum.HAPPY_ENDING.equals(state)||ContextStateEnum.BAD_ENDING.equals(state)) { this.endTime=LocalDateTime.now(); parentContext.checkChildEnd();