[agent][executor]- bug - 10
This commit is contained in:
@@ -40,7 +40,7 @@ public class CommandExecutor {
|
||||
/**
|
||||
* 一个命令执行的最长等待时间
|
||||
*/
|
||||
int processMaxWaitSeconds = 20;
|
||||
int processMaxWaitSeconds = 10;
|
||||
|
||||
/**
|
||||
* 持久化命令执行的最长等待时间
|
||||
@@ -215,7 +215,10 @@ public class CommandExecutor {
|
||||
}
|
||||
|
||||
// 关停任务执行的缓存日志收集 BufferedReader 否则无法终止
|
||||
commandExecLogCache.StopExecLogBufferedReader(streamKey);
|
||||
commandExecLogCache.StopExecLogBufferedReader(
|
||||
streamKey,
|
||||
process
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ public class CommandExecLogCache {
|
||||
* 对于一些没有中止的任务,必须要手动将读取的 InputStream流关闭
|
||||
* 否则部分任务的日志无法收集
|
||||
*/
|
||||
public void StopExecLogBufferedReader(String streamKey) {
|
||||
public void StopExecLogBufferedReader(String streamKey, Process process) {
|
||||
|
||||
BufferedReader bufferedReader = CommandLogReaderMap.get(streamKey);
|
||||
|
||||
@@ -160,7 +160,14 @@ public class CommandExecLogCache {
|
||||
|
||||
if (ObjectUtils.isNotEmpty(bufferedReader)) {
|
||||
try {
|
||||
|
||||
// 关闭command的输出流
|
||||
process
|
||||
.getInputStream()
|
||||
.close();
|
||||
|
||||
bufferedReader.close();
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@@ -185,12 +192,6 @@ public class CommandExecLogCache {
|
||||
.writerWithDefaultPrettyPrinter()
|
||||
.writeValueAsString(cachedCommandLog);
|
||||
|
||||
log.info(
|
||||
"任务 [ {} ] 的缓存执行结果为 \n{}",
|
||||
streamKey,
|
||||
s
|
||||
);
|
||||
|
||||
System.out.println("s = " + s);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user