添加定时删除功能
This commit is contained in:
parent
06f6ca0591
commit
e996f1a34f
|
|
@ -65,24 +65,21 @@ public class ProcessService {
|
||||||
try (BufferedReader reader = new BufferedReader(
|
try (BufferedReader reader = new BufferedReader(
|
||||||
new InputStreamReader(process.getInputStream()))) {
|
new InputStreamReader(process.getInputStream()))) {
|
||||||
String line;
|
String line;
|
||||||
while ((line = reader.readLine()) != null && !processTerminated.get()) {
|
while ((line = reader.readLine()) != null) {
|
||||||
logger.info("mergeMp4-------- {}",line);
|
logger.info("mergeMp4-------- {}",line);
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
if (!processTerminated.get()) {
|
|
||||||
logger.info("mergeMp4-------- Over",e);
|
logger.info("mergeMp4-------- Over",e);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
logger.info("mergeMp4 Over");
|
logger.info("mergeMp4 Over");
|
||||||
|
|
||||||
// 删除源文件的逻辑移到这里,根据转换结果决定是否删除
|
|
||||||
// 这里暂时不删除,让主线程来决定是否删除源文件
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
CompletableFuture<Process> future = process.onExit();
|
CompletableFuture<Process> future = process.onExit();
|
||||||
// 阻塞等待进程结束,增加超时时间到5分钟
|
// 阻塞等待进程结束,增加超时时间到5分钟
|
||||||
Process completedProcess = null;
|
Process completedProcess = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
completedProcess = future.get(5, TimeUnit.MINUTES);
|
completedProcess = future.get(5, TimeUnit.MINUTES);
|
||||||
logger.info("mergeMp4正常完成-------- Over");
|
logger.info("mergeMp4正常完成-------- Over");
|
||||||
|
|
@ -96,11 +93,9 @@ public class ProcessService {
|
||||||
|
|
||||||
if(file.exists() && file.length() > 0){
|
if(file.exists() && file.length() > 0){
|
||||||
logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over");
|
logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over");
|
||||||
processTerminated.set(true);
|
|
||||||
process.destroy();
|
process.destroy();
|
||||||
} else {
|
} else {
|
||||||
logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over");
|
logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over");
|
||||||
processTerminated.set(true);
|
|
||||||
process.destroyForcibly();
|
process.destroyForcibly();
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -126,7 +121,6 @@ public class ProcessService {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("进程失败,退出码 {} " ,completedProcess.exitValue());
|
logger.info("进程失败,退出码 {} " ,completedProcess.exitValue());
|
||||||
// 进程失败时保留源文件
|
|
||||||
logger.info("转换失败,保留源文件: {}", sourceFlvPath);
|
logger.info("转换失败,保留源文件: {}", sourceFlvPath);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -138,14 +132,12 @@ public class ProcessService {
|
||||||
|
|
||||||
if(file.exists() && file.length() > 0){
|
if(file.exists() && file.length() > 0){
|
||||||
logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over");
|
logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over");
|
||||||
// 超时但文件已生成,删除源文件
|
|
||||||
if (sourceFlvFile.exists()) {
|
if (sourceFlvFile.exists()) {
|
||||||
FileUtil.deleteFile(sourceFlvFile);
|
FileUtil.deleteFile(sourceFlvFile);
|
||||||
logger.info("超时但转换成功,已删除源文件: {}", sourceFlvPath);
|
logger.info("超时但转换成功,已删除源文件: {}", sourceFlvPath);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over");
|
logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over");
|
||||||
// 超时且文件未生成,保留源文件
|
|
||||||
logger.info("超时且转换失败,保留源文件: {}", sourceFlvPath);
|
logger.info("超时且转换失败,保留源文件: {}", sourceFlvPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue