[agent][executor]-完成底层命令执行架构的更改

This commit is contained in:
zeaslity
2023-02-26 16:20:08 +08:00
parent 2ba0f1f74f
commit e4bb3f4a06

View File

@@ -43,10 +43,7 @@ public class CommandExecLogCache {
* 存储每一个任务对应的 日志读取BufferedReader
*/
private static final HashMap<String, BufferedReader> CommandLogBufferedReaderMap = new HashMap<>();
/**
* 存储每一个任务对应的 日志读取 InputStream Reader
*/
private static final HashMap<String, InputStreamReader> CommandLogInputReaderMap = new HashMap<>();
/**
* 固定单进程,用于缓存命令执行日志,关闭命令输入管道
@@ -140,23 +137,17 @@ public class CommandExecLogCache {
log.debug("doCacheLog 开始从process的结果中获取日志缓存");
// read from input stream and store to the cacheArrayList
InputStreamReader inputStreamReader = new InputStreamReader(
process.getInputStream()
);
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader
);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(
process.getInputStream()
)
);
// 缓存这个 日志读取器
CommandLogBufferedReaderMap.put(
streamKey,
bufferedReader
);
CommandLogInputReaderMap.put(
streamKey,
inputStreamReader
);
// 使用统一进程执行缓存和关停动作
LogCacheDaemonThread.submit(
() -> {
@@ -185,13 +176,11 @@ public class CommandExecLogCache {
public void StopExecLogBufferedReader(String streamKey, Process process) {
BufferedReader bufferedReader = CommandLogBufferedReaderMap.get(streamKey);
InputStreamReader inputStreamReader = CommandLogInputReaderMap.get(streamKey);
log.debug(
"开始关停任务 [ {} ]对应的日志读取 BufferedReader {} InputStream Reader {}",
"开始关停任务 [ {} ]对应的日志读取 BufferedReader {}",
streamKey,
bufferedReader,
inputStreamReader
bufferedReader
);
LogCacheDaemonThread.submit(
@@ -202,8 +191,6 @@ public class CommandExecLogCache {
.getInputStream()
.close();
inputStreamReader.close();
bufferedReader.close();
} catch (IOException e) {
@@ -215,7 +202,6 @@ public class CommandExecLogCache {
);
CommandLogBufferedReaderMap.remove(streamKey);
CommandLogInputReaderMap.remove(streamKey);
}
});
}