[agent][executor]-完成底层命令执行架构的更改
This commit is contained in:
@@ -43,10 +43,7 @@ public class CommandExecLogCache {
|
|||||||
* 存储每一个任务对应的 日志读取BufferedReader
|
* 存储每一个任务对应的 日志读取BufferedReader
|
||||||
*/
|
*/
|
||||||
private static final HashMap<String, BufferedReader> CommandLogBufferedReaderMap = new HashMap<>();
|
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的结果中获取日志缓存");
|
log.debug("doCacheLog 开始从process的结果中获取日志缓存");
|
||||||
|
|
||||||
// read from input stream and store to the cacheArrayList
|
// 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(
|
CommandLogBufferedReaderMap.put(
|
||||||
streamKey,
|
streamKey,
|
||||||
bufferedReader
|
bufferedReader
|
||||||
);
|
);
|
||||||
CommandLogInputReaderMap.put(
|
|
||||||
streamKey,
|
|
||||||
inputStreamReader
|
|
||||||
);
|
|
||||||
|
|
||||||
// 使用统一进程执行缓存和关停动作
|
// 使用统一进程执行缓存和关停动作
|
||||||
LogCacheDaemonThread.submit(
|
LogCacheDaemonThread.submit(
|
||||||
() -> {
|
() -> {
|
||||||
@@ -185,13 +176,11 @@ public class CommandExecLogCache {
|
|||||||
public void StopExecLogBufferedReader(String streamKey, Process process) {
|
public void StopExecLogBufferedReader(String streamKey, Process process) {
|
||||||
|
|
||||||
BufferedReader bufferedReader = CommandLogBufferedReaderMap.get(streamKey);
|
BufferedReader bufferedReader = CommandLogBufferedReaderMap.get(streamKey);
|
||||||
InputStreamReader inputStreamReader = CommandLogInputReaderMap.get(streamKey);
|
|
||||||
|
|
||||||
log.debug(
|
log.debug(
|
||||||
"开始关停任务 [ {} ]对应的日志读取 BufferedReader {} InputStream Reader {}",
|
"开始关停任务 [ {} ]对应的日志读取 BufferedReader {}",
|
||||||
streamKey,
|
streamKey,
|
||||||
bufferedReader,
|
bufferedReader
|
||||||
inputStreamReader
|
|
||||||
);
|
);
|
||||||
|
|
||||||
LogCacheDaemonThread.submit(
|
LogCacheDaemonThread.submit(
|
||||||
@@ -202,8 +191,6 @@ public class CommandExecLogCache {
|
|||||||
.getInputStream()
|
.getInputStream()
|
||||||
.close();
|
.close();
|
||||||
|
|
||||||
inputStreamReader.close();
|
|
||||||
|
|
||||||
bufferedReader.close();
|
bufferedReader.close();
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@@ -215,7 +202,6 @@ public class CommandExecLogCache {
|
|||||||
);
|
);
|
||||||
|
|
||||||
CommandLogBufferedReaderMap.remove(streamKey);
|
CommandLogBufferedReaderMap.remove(streamKey);
|
||||||
CommandLogInputReaderMap.remove(streamKey);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user