From 7d249d8883ae3290ac75acb1bd2577b2b69d9066 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Sat, 25 Feb 2023 17:21:28 +0800 Subject: [PATCH] [agent][executor]- bug --- .../java/io/wdd/agent/executor/CommandExecutor.java | 4 +--- .../agent/executor/thread/CommandExecLogCache.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/agent/src/main/java/io/wdd/agent/executor/CommandExecutor.java b/agent/src/main/java/io/wdd/agent/executor/CommandExecutor.java index d41009e..84a329c 100644 --- a/agent/src/main/java/io/wdd/agent/executor/CommandExecutor.java +++ b/agent/src/main/java/io/wdd/agent/executor/CommandExecutor.java @@ -105,6 +105,7 @@ public class CommandExecutor { // 开始执行命令操作 CountDownLatch countDownLatch = new CountDownLatch(1); + // 开始执行命令操作 Process process = processBuilder.start(); // 守护进程 对每一条任务的超时时间进行限制,避免卡死 @@ -116,8 +117,6 @@ public class CommandExecutor { commandExecWaitTimeout = durationTaskMaxWaitSeconds; } - - // 2023年2月23日 同时执行log日志部分移动至此部分处理 AgentCommonThreadPool.pool.submit( DaemonCommandProcessAndCollectLog( @@ -137,7 +136,6 @@ public class CommandExecutor { // 命令执行完成, countDownLatch计数 countDownLatch.countDown(); - // 设置 命令执行退出返回值 processResult = process.exitValue(); diff --git a/agent/src/main/java/io/wdd/agent/executor/thread/CommandExecLogCache.java b/agent/src/main/java/io/wdd/agent/executor/thread/CommandExecLogCache.java index 109a7ac..69a289b 100644 --- a/agent/src/main/java/io/wdd/agent/executor/thread/CommandExecLogCache.java +++ b/agent/src/main/java/io/wdd/agent/executor/thread/CommandExecLogCache.java @@ -3,6 +3,7 @@ package io.wdd.agent.executor.thread; import io.wdd.common.utils.TimeUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Component; import org.springframework.util.Assert; @@ -37,7 +38,15 @@ public class CommandExecLogCache { */ public void cacheLog(String streamKey, Process process) { - Assert.notNull(process,"命令执行为空!"); + log.debug( + "开始缓存命令执行日志! process is {}", + process + ); + + if (ObjectUtils.isEmpty(process)) { + log.error("process is null ! cache log error !"); + return; + } ArrayList commandCachedLog = new ArrayList<>(128);