Forráskód Böngészése

修复上传模型失败
场景计算mq监听器设置超时时间48小时

dengsixing 3 éve
szülő
commit
bbbcda227b

+ 2 - 1
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java

@@ -76,7 +76,8 @@ import org.springframework.web.client.RestTemplate;
         consumerGroup = "${rocketmq.consumer.build-scene-group}",
         topic = "${rocketmq.build-scene.topicName.topic-modeling-a}",
         messageModel = MessageModel.CLUSTERING,//负载均衡模式
-        consumeThreadMax = 1//消费者最大线程数,每次只消费一个
+        consumeThreadMax = 1,//消费者最大线程数,每次只消费一个
+        consumeTimeout = 172801000L
 )
 public class BuildSceneListener implements RocketMQListener<String> {
 

+ 2 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildScenePreMQListener.java

@@ -61,7 +61,8 @@ import org.springframework.stereotype.Component;
         consumerGroup = "${rocketmq.consumer.build-scene-pre-group}",
         topic = "${rocketmq.build-scene.topicName.topic-modeling-a-pre}",
         messageModel = MessageModel.CLUSTERING,//负载均衡模式
-        consumeThreadMax = 10
+        consumeThreadMax = 10,
+        consumeTimeout = 172801000L
 )
 public class BuildScenePreMQListener implements RocketMQListener<String> {
 

+ 7 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener.java

@@ -17,7 +17,8 @@ import org.springframework.stereotype.Component;
         consumerGroup = "test_group_dsx",
         topic = "test_topic_dsx",
         messageModel = MessageModel.CLUSTERING,
-        consumeThreadMax = 1
+        consumeThreadMax = 1,
+        consumeTimeout = 7200000L
 )
 @Data
 public class TestListener implements RocketMQListener<String> {
@@ -34,6 +35,11 @@ public class TestListener implements RocketMQListener<String> {
 
         buildSceneResultTopic = "123123123123";
 
+
+        Thread.sleep(3600000L);
+
+
+
         System.out.println("结束消费:" + message);
 
 

+ 2 - 10
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.ComputerUtil;
 import com.fdkankan.common.util.CreateObjUtil;
 import com.fdkankan.common.util.FileMd5Util;
 import com.fdkankan.common.util.FileUtil;
@@ -1000,16 +1001,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             String uploadJsonPath = target + File.separator + "results" + File.separator + "upload.json";
             log.info("uploadJsonPath=" + uploadJsonPath);
             //因为共享目录有延迟,这里循环检测算法是否计算完毕3次,每次隔五秒
-            int checkTimes = 1;
-            boolean exist = false;
-            do {
-                if(new File(uploadJsonPath).exists()){
-                    exist = true;
-                    break;
-                }
-                Thread.sleep(5000);
-                ++checkTimes;
-            }while (checkTimes <= 3);
+            boolean exist = ComputerUtil.checkComputeCompleted(uploadJsonPath, 3, 5000);
             if(!exist){
                 throw new BusinessException(ErrorCode.FAILURE_CODE_5042);
             }

+ 7 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -3469,17 +3469,19 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
     private void uploadFileofterRebuildPanoram(String path, String sceneNum) throws Exception {
-        String uploadData = FileUtils.readFile(path + File.separator + "results" +File.separator+"upload.json");
+        //因为共享目录有延迟,这里循环检测算法是否计算完毕3次,每次隔五秒
+        String uploadJsonPath = path + File.separator + "results" +File.separator+"upload.json";
+        boolean exist = ComputerUtil.checkComputeCompleted(uploadJsonPath, 5, 5000);
+        if(!exist){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5042);
+        }
+        String uploadData = FileUtils.readFile(uploadJsonPath);
         JSONObject uploadJson = null;
         JSONArray array = null;
         if(uploadData!=null) {
             uploadJson = JSONObject.parseObject(uploadData);
             array = uploadJson.getJSONArray("upload");
         }
-        if(array == null){
-            log.error("upload.json数据出错");
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5017);
-        }
 
         Map<String,String> map = new HashMap<String,String>();
         JSONObject fileJson = null;