|  | @@ -146,7 +146,7 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 | 
	
		
			
				|  |  |  			TemplateGenerator.createProblemXml(pid,provo);
 | 
	
		
			
				|  |  |  			//创建run.py
 | 
	
		
			
				|  |  |  			TemplateGenerator.createRunpy2(pid);
 | 
	
		
			
				|  |  | -			run2(pid);
 | 
	
		
			
				|  |  | +			runqt(pid);
 | 
	
		
			
				|  |  |  		}else{
 | 
	
		
			
				|  |  |  			if(StringUtil.isEmpty(pro.getStype())){
 | 
	
		
			
				|  |  |  				throw new BusinessException("MDO000011");
 | 
	
	
		
			
				|  | @@ -173,6 +173,78 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	private void runqt(String pid) throws Exception {
 | 
	
		
			
				|  |  | +		MdoProComvalMapper comvalDao =UtilTools.getBean(MdoProComvalMapper.class);
 | 
	
		
			
				|  |  | +		MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
 | 
	
		
			
				|  |  | +		MdoProComvalSQLBuilder.Criteria sc = sb.createCriteria();
 | 
	
		
			
				|  |  | +		sc.andPidEqualTo(pid);
 | 
	
		
			
				|  |  | +		comvalDao.deleteByExample(sb);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		FileMonitor surrMonitor = new FileMonitor(1000);
 | 
	
		
			
				|  |  | +		SurromdaoFileListener t= new SurromdaoFileListener(pid);
 | 
	
		
			
				|  |  | +		surrMonitor.monitor("/cephfs/mdo/"+pid+"/in/myid_0", t);
 | 
	
		
			
				|  |  | +		surrMonitor.start();
 | 
	
		
			
				|  |  | +		FileMonitor crmMonitor = new FileMonitor(1000);
 | 
	
		
			
				|  |  | +		CRMFileListener crml = new CRMFileListener(pid);
 | 
	
		
			
				|  |  | +		crmMonitor.monitor("/cephfs/mdo/"+pid+"/in/myid_0/ADflow/results/aerodynamic", crml);
 | 
	
		
			
				|  |  | +		crmMonitor.start();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		LogService.addLog(pid,"求解——————————————————开始");
 | 
	
		
			
				|  |  | +		DockerExe.stopDocker(pid);
 | 
	
		
			
				|  |  | +		DockerExe.runMdo3(pid);
 | 
	
		
			
				|  |  | +		final int[] con = {0};
 | 
	
		
			
				|  |  | +		final String[] line = {""};
 | 
	
		
			
				|  |  | +		CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()-> {try {
 | 
	
		
			
				|  |  | +			DockerExe.getDockerLogs(pid,new ResultCallback.Adapter<Frame>() {
 | 
	
		
			
				|  |  | +				@Override
 | 
	
		
			
				|  |  | +				public void onNext(Frame frame) {
 | 
	
		
			
				|  |  | +//					if(con[0] <100){
 | 
	
		
			
				|  |  | +//						line[0]+=new String(frame.getPayload());
 | 
	
		
			
				|  |  | +//						con[0]++;
 | 
	
		
			
				|  |  | +//					}else{
 | 
	
		
			
				|  |  | +////					LogService.addLog(pid, line[0]);
 | 
	
		
			
				|  |  | +//						line[0]="";
 | 
	
		
			
				|  |  | +//						con[0] =0;
 | 
	
		
			
				|  |  | +//					}
 | 
	
		
			
				|  |  | +//					LogService.addLog(pid, new String(frame.getPayload()));
 | 
	
		
			
				|  |  | +//					System.out.print(new String(frame.getPayload()));
 | 
	
		
			
				|  |  | +					super.onNext(frame);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				@Override
 | 
	
		
			
				|  |  | +				public void onError(Throwable throwable) {
 | 
	
		
			
				|  |  | +					System.err.println("日志获取失败");
 | 
	
		
			
				|  |  | +//					LogService.addLog(pid, line[0]);
 | 
	
		
			
				|  |  | +					throwable.printStackTrace();
 | 
	
		
			
				|  |  | +					super.onError(throwable);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				@Override
 | 
	
		
			
				|  |  | +				public void onComplete() {
 | 
	
		
			
				|  |  | +					System.out.println("日志获取完成");
 | 
	
		
			
				|  |  | +//					LogService.addLog(pid, line[0]);
 | 
	
		
			
				|  |  | +					super.onComplete();
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			LogService.addLog(pid,"求解——————————————————成功");
 | 
	
		
			
				|  |  | +		} catch (Exception e) {
 | 
	
		
			
				|  |  | +			LogService.addLog(pid,"求解——————————————————失败");
 | 
	
		
			
				|  |  | +			e.printStackTrace();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +			try {
 | 
	
		
			
				|  |  | +				surrMonitor.stop();
 | 
	
		
			
				|  |  | +				SurromdaoFileRead.readFile(new File("/cephfs/mdo/"+pid+"/in/myid_0/surromdao_history_all.dat"),pid);
 | 
	
		
			
				|  |  | +				crmMonitor.stop();
 | 
	
		
			
				|  |  | +				CRMFileRead.readFile(new File("/cephfs/mdo/"+pid+"/in/myid_0/ADflow/results/aerodynamic/CRM_final_000_slices.dat"),pid);
 | 
	
		
			
				|  |  | +			} catch (Exception e) {
 | 
	
		
			
				|  |  | +				e.printStackTrace();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			return null;
 | 
	
		
			
				|  |  | +		});
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	private void run3(String pid) throws Exception {
 | 
	
		
			
				|  |  |  		MdoProComvalMapper comvalDao =UtilTools.getBean(MdoProComvalMapper.class);
 | 
	
		
			
				|  |  |  		MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
 |