Просмотр исходного кода

新增-新策略对应 获取机器人状态接口

hl 5 месяцев назад
Родитель
Сommit
70c1b2baaa
2 измененных файлов с 35 добавлено и 7 удалено
  1. 28 7
      src/robot.js
  2. 7 0
      src/web.js

+ 28 - 7
src/robot.js

@@ -36,20 +36,20 @@ function getApp(key) {
     let app = {
         id: -1,
         port: -1,
-        path:"",
-        programName:"",
-        strategyName:"",
+        path: "",
+        programName: "",
+        strategyName: "",
         childProcess: undefined,
         nowBalance: -1,
-        posNum:-1,
+        posNum: -1,
         messlist: [],
         threadStatus: RobotStatus.STOPPED,
         errorMessage: "成功",
         threadStartTime: -1,
         status: 0,
         restartStatus: 0,
-        closeTime:0,
-        isClearance:false,
+        closeTime: 0,
+        isClearance: false,
 
     }
     // logger.info(appMap, appMap.has(key));
@@ -550,10 +550,30 @@ function delRobot(app) {
     //     delApp(app.id)
     // }
 }
-//----------------------------------------------
+
 //----------------------------------------------
 
+// 新策略-获取状态
+function predictorState(app) {
+    var accUrl = "http://127.0.0.1:" + app.port
+    //拿到策略余额
+    try {
+        var config = getRustConfig()
+        http.request_get(`${accUrl}/predictor_state`, {...config.headers})
+            .then((data) => {
+                var d = JSON.parse(data)
+                return {'code': 200, 'data': d, "message": "SUCCESS"}
+            }).catch((error) => {
+            // 处理可能发生的错误
+            logger.error(`#####################汇报:获取状态请求失败: ${error.message}`)
+            return {'code': -1, 'data': null, "message": `获取状态请求失败${error.message}`}
+        });
+    } catch (e) {
+        logger.error('请求失败!:', e)
+        return {'code': -1, 'data': null, "message": "获取状态请求出错"}
+    }
 
+}
 
 module.exports = {
     run,
@@ -564,6 +584,7 @@ module.exports = {
     robotAmount,
     closeAppAll,
     searchPositions,
+    predictorState,
     appMap,
     getApp,
     getAppMap,

+ 7 - 0
src/web.js

@@ -130,6 +130,13 @@ function init() {
         robot.searchPositions(param)
         res.send({'code': 200, 'data': true, "message": "SUCCESS"});
     })
+    // 新策略-返回机器人状态
+    app.get('/predictorState', (req, res) => {
+        const param = req.query;
+        logger.info(JSON.stringify(param));
+        let data = robot.predictorState(param)
+        res.send(data);
+    })
     // 使服务器监听特定端口
     app.listen(port, () => {
         // console.log(`服务器正在监听 http://localhost:${port}`);