| 
					
				 | 
			
			
				@@ -337,6 +337,41 @@ async function restartApp(param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     logger.info(`重启完成!!!!!`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//启动- 检查程序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function searchPositions(param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return new Promise(async (resolve, reject) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var key = param.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var appName = param.path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var run_mode = param.run_mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var robot_id = param.robot_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let newAppName = "4l_as_" + appName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let configName = "config.json";        //配置文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var programName = param.programName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var strategyName = param.strategyName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var app = getApp(key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var config = getRustConfig() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //相对路径存放 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var appPath = config.filePath + "/" + app.id + "/" + strategyName + "/" + programName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const args = ['--config=' + configPath, '--port=' + app.port] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        app.childProcess = spawn(command, args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const asName = appPath + "/" + newAppName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const configPath = appPath + "/" + configName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const appPort =  app.port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const command  = `sudo ${asName} --config=${configPath} --port==${appPort} --run_mode=${run_mode} --robot_id=${robot_id}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exec(command, (error, stdout, stderr) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.error(`命令执行失败~: ${command} 错误:${error}`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info(`检查指令发送成功!`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return resolve(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async function closeAppAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return new Promise(async (resolve, reject) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -491,5 +526,16 @@ function delRobot(app) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    run, closeApp, restartApp, delRobot, robotStatus, robotAmount, closeAppAll, appMap, getApp, getAppMap, RobotStatus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    run, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeApp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    restartApp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delRobot, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    robotStatus, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    robotAmount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeAppAll, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    searchPositions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    appMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getApp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getAppMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RobotStatus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 |