Bladeren bron

water docker 求解

huangxingxing 9 maanden geleden
bovenliggende
commit
7d65351d72
1 gewijzigde bestanden met toevoegingen van 35 en 21 verwijderingen
  1. 35 21
      src/main/java/com/miniframe/bisiness/system/D00008Service.java

+ 35 - 21
src/main/java/com/miniframe/bisiness/system/D00008Service.java

@@ -339,30 +339,44 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 	}
 	//异步执行
 	@SneakyThrows
-	public void exeWater(Integer aid,Integer jid) throws Exception{
+	public void exeWater2(Integer aid,Integer jid) throws Exception{
 		CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()->{
 			try {
+				ProcessBuilder processBuilder = new ProcessBuilder(
+						"docker run --name " +
+								aid +jid+
+								" -it -v /home/disaster/zhty/:/home/disaster/zhty/ " +
+								"-v /cephfs/disaster/:/cephfs/disaster/  " +
+								"-v " +
+								TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water/runWater.sh" +
+								":/home/disaster/zhty/Water/runWater.sh " +
+								" water:1.0");
 				LogService.addLog(aid,jid,"Water","求解——————————————————开始");
-				Runtime runtime = Runtime.getRuntime();
-				Process p =null;
-				FileWriter fileWriter = new FileWriter(TemplateGenerator.BPATH + "/" + aid + "/" + jid + "run.sh");
-				fileWriter.write("docker run --name " +
-						aid +jid+
-						" -it -v /home/disaster/zhty/:/home/disaster/zhty/ " +
-						"-v /cephfs/disaster/:/cephfs/disaster/  " +
-						"-v " +
-						TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water/runWater.sh" +
-						":/home/disaster/zhty/Water/runWater.sh " +
-						" water:1.0");
-				fileWriter.close();
-				String exs="sh "+TemplateGenerator.BPATH + "/" + aid + "/" + jid + "run.sh";
-				System.out.println(exs);
-				p= runtime.exec(exs);
-				InputStream fis = p.getInputStream();
-				InputStreamReader isr = new InputStreamReader(fis);
-				BufferedReader br = new BufferedReader(isr);
+//				Runtime runtime = Runtime.getRuntime();
+//				Process p =null;
+//				FileWriter fileWriter = new FileWriter(TemplateGenerator.BPATH + "/" + aid + "/" + jid + "run.sh");
+//				fileWriter.write("docker run --name " +
+//						aid +jid+
+//						" -it -v /home/disaster/zhty/:/home/disaster/zhty/ " +
+//						"-v /cephfs/disaster/:/cephfs/disaster/  " +
+//						"-v " +
+//						TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/water/runWater.sh" +
+//						":/home/disaster/zhty/Water/runWater.sh " +
+//						" water:1.0");
+//				fileWriter.close();
+//				String exs="sh "+TemplateGenerator.BPATH + "/" + aid + "/" + jid + "run.sh";
+//				System.out.println(exs);
+//				p= runtime.exec(exs);
+//				InputStream fis = p.getInputStream();
+//				InputStreamReader isr = new InputStreamReader(fis);
+//				BufferedReader br = new BufferedReader(isr);
+
+				Process process = processBuilder.start();
+
+				// 读取命令的输出
+				BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
 				String line = null;
-				while ((line = br.readLine()) != null) {
+				while ((line = reader.readLine()) != null) {
 					LogService.addLog(aid,jid,"Water",line);
 					System.out.println(line);
 				}
@@ -384,7 +398,7 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 	}
 	//异步执行
 	@SneakyThrows
-	public void exeWater2(Integer aid,Integer jid) throws Exception{
+	public void exeWater(Integer aid,Integer jid) throws Exception{
 		CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()->{
 			try {
 				LogService.addLog(aid,jid,"Water","求解——————————————————开始");