阻塞逻辑修改

This commit is contained in:
even 2025-05-29 10:32:58 +08:00
parent f0b36fad6d
commit 14c4e9b6e5
2 changed files with 6 additions and 6 deletions

View File

@ -47,10 +47,11 @@ public class SerialDispatcher implements BaseDispatcher {
TaskRunMessage taskRunMessage = new TaskRunMessage(pipTask); TaskRunMessage taskRunMessage = new TaskRunMessage(pipTask);
redisMQTemplate.send(taskRunMessage); redisMQTemplate.send(taskRunMessage);
// TODO 监听当前taskContext状态变成执行成功或者执行失败(worker当中改变状态为运行中执行成功执行失败) // TODO 监听当前taskContext状态变成执行成功或者执行失败(worker当中改变状态为运行中执行成功执行失败)
//
AtomicInteger state = taskRunContext.getState(); AtomicInteger state = taskRunContext.getState();
while (state.get() != ContextStateEnum.HAPPY_ENDING.getCode() while (state.get() != ContextStateEnum.HAPPY_ENDING.getCode()
&& state.get() != ContextStateEnum.BAD_ENDING.getCode()) { // && state.get() != ContextStateEnum.BAD_ENDING.getCode()
) {
// Thread.sleep(1000L); // Thread.sleep(1000L);
taskRunContext.pause(); taskRunContext.pause();
} }

View File

@ -105,12 +105,11 @@ public abstract class BaseRunContext {
* */ * */
public void checkChildEnd() throws ServiceException{ public void checkChildEnd() throws ServiceException{
Map<String, BaseRunContext> childContext = getChildContext(); Map<String, BaseRunContext> childContext = getChildContext();
int result = ContextStateEnum.HAPPY_ENDING.getCode();
for (Map.Entry<String, BaseRunContext> entry : childContext.entrySet()) {
if (childContext.size()!=childCount) { if (childContext.size()!=childCount) {
return; return;
} }
int result = ContextStateEnum.HAPPY_ENDING.getCode();
for (Map.Entry<String, BaseRunContext> entry : childContext.entrySet()) {
BaseRunContext child = entry.getValue(); BaseRunContext child = entry.getValue();
int state = child.getState().get(); int state = child.getState().get();
if (!ContextStateEnum.HAPPY_ENDING.getCode().equals(state)&&!ContextStateEnum.BAD_ENDING.getCode().equals(state)) { if (!ContextStateEnum.HAPPY_ENDING.getCode().equals(state)&&!ContextStateEnum.BAD_ENDING.getCode().equals(state)) {