[server][ executor]- 优化部分代码 - 3

This commit is contained in:
zeaslity
2023-02-28 17:39:10 +08:00
parent f88cb39adc
commit 371fa71b50
2 changed files with 10 additions and 17 deletions

View File

@@ -212,7 +212,8 @@ public class CommandExecutor {
// 关停任务执行的缓存日志收集 BufferedReader 否则无法终止 // 关停任务执行的缓存日志收集 BufferedReader 否则无法终止
commandExecLogCache.StopCollectExecLog( commandExecLogCache.StopCollectExecLog(
streamKey, streamKey,
process process,
commandExecWaitTimeout
); );
// 执行到这里,说明整个任务流程结束(超时结束) // 执行到这里,说明整个任务流程结束(超时结束)

View File

@@ -163,9 +163,9 @@ public class CommandExecLogCache {
// 对于即时执行完成的任务,需要在这里增加尾巴内容 // 对于即时执行完成的任务,需要在这里增加尾巴内容
addCommandExecTailInfo( addCommandExecTailInfo(
process, 1,
streamKey, streamKey,
false 0
); );
log.debug( log.debug(
@@ -183,27 +183,19 @@ public class CommandExecLogCache {
* @param process * @param process
* @param streamKey * @param streamKey
*/ */
private void addCommandExecTailInfo(Process process, String streamKey, boolean isKillProcess) { private void addCommandExecTailInfo(int timeOut, String streamKey, int exitValue) {
log.debug("开始添加任务日志的尾部信息!"); log.debug("开始添加任务日志的尾部信息!");
// 添加任务结束的一些信息 // 添加任务结束的一些信息
String execTimeCostString = String.format( String execTimeCostString = String.format(
"execution time-cost is => [ %s ]", "execution time-cost is => [ %s ]",
process timeOut
.info()
.totalCpuDuration()
.get()
); );
// 是否需要强行关闭 process 杀死任务进程
/*if (isKillProcess) {
process.destroyForcibly();
}*/
String execResultString = String.format( String execResultString = String.format(
"execution result code is => [ %s ]", "execution result code is => [ %s ]",
process.exitValue() exitValue
); );
ArrayList<String> commandExecCachedLog = CachedCommandLogMap.get(streamKey); ArrayList<String> commandExecCachedLog = CachedCommandLogMap.get(streamKey);
@@ -222,7 +214,7 @@ public class CommandExecLogCache {
* 对于一些没有中止的任务,必须要手动将读取的 InputStream流关闭 * 对于一些没有中止的任务,必须要手动将读取的 InputStream流关闭
* 否则部分任务的日志无法收集 * 否则部分任务的日志无法收集
*/ */
public void StopCollectExecLog(String streamKey, Process process) { public void StopCollectExecLog(String streamKey, Process process, int commandExecWaitTimeout) {
BufferedReader bufferedReader = CommandLogBufferedReaderMap.get(streamKey); BufferedReader bufferedReader = CommandLogBufferedReaderMap.get(streamKey);
@@ -254,9 +246,9 @@ public class CommandExecLogCache {
if (ObjectUtils.isNotEmpty(process) && process.isAlive()) { if (ObjectUtils.isNotEmpty(process) && process.isAlive()) {
addCommandExecTailInfo( addCommandExecTailInfo(
process, commandExecWaitTimeout,
streamKey, streamKey,
true process.exitValue()
); );
} }