Selaa lähdekoodia

计算优先级改造

dengsixing 1 vuosi sitten
vanhempi
commit
f9a1582ca3

+ 1 - 1
src/main/java/com/fdkankan/contro/mq/service/impl/BuildObjServiceImpl.java

@@ -146,7 +146,7 @@ public class BuildObjServiceImpl implements IBuildSceneService {
             message.setResultReceiverMqName(queueObjModelingPost);
             message.setResultReceiverMqName(queueObjModelingPost);
 
 
             //发送mq,就进行计算
             //发送mq,就进行计算
-            mqProducer.sendByWorkQueue(queueModelingCall, message);
+            commonService.saveMqSendLog(num, message);
 
 
             success = true;
             success = true;
 
 

+ 12 - 6
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.contro.mq.service.impl;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.ZipUtil;
 import cn.hutool.core.util.ZipUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
@@ -139,8 +140,6 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
     private ISceneBuildProcessLogService sceneBuildProcessLogService;
     private ISceneBuildProcessLogService sceneBuildProcessLogService;
     @Autowired
     @Autowired
     private ISceneColdStorageService sceneColdStorageService;
     private ISceneColdStorageService sceneColdStorageService;
-    @Autowired
-    private IMqSendLogService mqSendLogService;
 
 
 
 
     @Override
     @Override
@@ -198,10 +197,17 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
 
 
             message.getBuildContext().put("cameraType",message.getCameraType());
             message.getBuildContext().put("cameraType",message.getCameraType());
 
 
-            MqSendLog mqSendLog = new MqSendLog();
-            mqSendLog.setNum(num);
-            mqSendLog.setContent(JSON.toJSONString(message));
-            mqSendLogService.save(mqSendLog);
+            //查询是否超过比例50%,如果超过,则启动128G服务器弹性伸缩
+            Float maxRate = fdageJson.getFloat("maxRate");
+            if(env.equals("gn") && Objects.nonNull(maxRate) && maxRate > 50){
+                Map<String, Object> ext = message.getExt();
+                if(Objects.isNull(ext)){
+                    ext = new HashMap<>();
+                    message.setExt(ext);
+                }
+                ext.put("128G", 1);
+            }
+            commonService.saveMqSendLog(num, message);
 
 
             log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
             log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
 
 

+ 1 - 1
src/main/java/com/fdkankan/contro/mq/service/impl/BuildV3SceneServiceImpl.java

@@ -162,7 +162,7 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
             message.setResultReceiverMqName(queueV3ModelingPost);
             message.setResultReceiverMqName(queueV3ModelingPost);
 
 
             //发送mq,就进行计算
             //发送mq,就进行计算
-            mqProducer.sendByWorkQueue(queueModelingCall, message);
+            commonService.saveMqSendLog(num, message);
 
 
             success = true;
             success = true;
 
 

+ 3 - 0
src/main/java/com/fdkankan/contro/service/ICommonService.java

@@ -3,6 +3,7 @@ package com.fdkankan.contro.service;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.contro.entity.*;
 import com.fdkankan.contro.entity.*;
 import com.fdkankan.contro.vo.ScenePlusVO;
 import com.fdkankan.contro.vo.ScenePlusVO;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
 
 
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
@@ -45,4 +46,6 @@ public interface ICommonService {
 
 
     void writeSceneJson(String num, JSONObject videosJson, SceneEditInfo sceneEditInfo, SceneEditInfoExt sceneEditInfoExt,
     void writeSceneJson(String num, JSONObject videosJson, SceneEditInfo sceneEditInfo, SceneEditInfoExt sceneEditInfoExt,
                         SceneEditControls sceneEditControls, ScenePlus scenePlus, ScenePlusExt scenePlusExt, Company company);
                         SceneEditControls sceneEditControls, ScenePlus scenePlus, ScenePlusExt scenePlusExt, Company company);
+
+    void saveMqSendLog(String num, BuildSceneCallMessage message);
 }
 }

+ 11 - 0
src/main/java/com/fdkankan/contro/service/impl/CommonServiceImpl.java

@@ -28,6 +28,7 @@ import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.FloorPlanUserUtil;
 import com.fdkankan.model.utils.FloorPlanUserUtil;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.sms.SendMailAcceUtils;
 import com.fdkankan.sms.SendMailAcceUtils;
@@ -99,6 +100,8 @@ public class CommonServiceImpl implements ICommonService {
     private ISceneEditInfoExtService sceneEditInfoExtService;
     private ISceneEditInfoExtService sceneEditInfoExtService;
     @Autowired
     @Autowired
     private RedisUtil redisUtil;
     private RedisUtil redisUtil;
+    @Autowired
+    private IMqSendLogService mqSendLogService;
 
 
     @Override
     @Override
     public void uploadBuildResultData(String num, String dataSource, String version) {
     public void uploadBuildResultData(String num, String dataSource, String version) {
@@ -491,4 +494,12 @@ public class CommonServiceImpl implements ICommonService {
         //scenejson写入缓存
         //scenejson写入缓存
         redisUtil.set(String.format(RedisKey.SCENE_JSON, num), sceneJsonStr);
         redisUtil.set(String.format(RedisKey.SCENE_JSON, num), sceneJsonStr);
     }
     }
+
+    @Override
+    public void saveMqSendLog(String num, BuildSceneCallMessage message) {
+        MqSendLog mqSendLog = new MqSendLog();
+        mqSendLog.setNum(num);
+        mqSendLog.setContent(JSON.toJSONString(message));
+        mqSendLogService.save(mqSendLog);
+    }
 }
 }