|
@@ -404,17 +404,33 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
|
|
CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()->{
|
|
CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()->{
|
|
try {
|
|
try {
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————开始");
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————开始");
|
|
- Runtime runtime = Runtime.getRuntime();
|
|
|
|
- Process p =null;
|
|
|
|
- p= runtime.exec("sh "+TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water"+"/"+"runWater.sh");
|
|
|
|
- InputStream fis = p.getInputStream();
|
|
|
|
- InputStreamReader isr = new InputStreamReader(fis);
|
|
|
|
- BufferedReader br = new BufferedReader(isr);
|
|
|
|
|
|
+// Runtime runtime = Runtime.getRuntime();
|
|
|
|
+// Process p =null;
|
|
|
|
+// p= runtime.exec("sh "+TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water"+"/"+"runWater.sh");
|
|
|
|
+// InputStream fis = p.getInputStream();
|
|
|
|
+// InputStreamReader isr = new InputStreamReader(fis);
|
|
|
|
+// BufferedReader br = new BufferedReader(isr);
|
|
|
|
+// String line = null;
|
|
|
|
+// while ((line = br.readLine()) != null) {
|
|
|
|
+// LogService.addLog(aid,jid,"Water",line);
|
|
|
|
+// System.out.println(line);
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ ProcessBuilder processBuilder = new ProcessBuilder("sh",TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water"+"/"+"runWater.sh");
|
|
|
|
+
|
|
|
|
+ Process process = processBuilder.start();
|
|
|
|
+ processBuilder.redirectErrorStream(true); // 将错误流合并到标准输出流
|
|
|
|
+ // 读取命令的输出
|
|
|
|
+ BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
|
String line = null;
|
|
String line = null;
|
|
- while ((line = br.readLine()) != null) {
|
|
|
|
|
|
+ while ((line = reader.readLine()) != null) {
|
|
LogService.addLog(aid,jid,"Water",line);
|
|
LogService.addLog(aid,jid,"Water",line);
|
|
System.out.println(line);
|
|
System.out.println(line);
|
|
}
|
|
}
|
|
|
|
+ // 等待命令执行完成
|
|
|
|
+ int exitCode = process.waitFor();
|
|
|
|
+ System.out.println("\nExited with code: " + exitCode);
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
saveMonitorValue(aid,jid);
|
|
saveMonitorValue(aid,jid);
|
|
@@ -422,7 +438,7 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
|
|
saveWayValue(aid,jid);
|
|
saveWayValue(aid,jid);
|
|
JobSucces(jid);
|
|
JobSucces(jid);
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————成功");
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————成功");
|
|
- } catch (IOException | BusinessException e) {
|
|
|
|
|
|
+ } catch (IOException | BusinessException | InterruptedException e) {
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————失败");
|
|
LogService.addLog(aid,jid,"Water","求解——————————————————失败");
|
|
JobError(jid);
|
|
JobError(jid);
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|