فهرست منبع

每计算完一个场景,调用一下系统命令杀掉算法金策会给你,防止算法进程没关闭,又开始计算下一个场景导致多个算法进程并存

dengsixing 1 سال پیش
والد
کامیت
c2ce6e2d92
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      src/main/java/com/fdkankan/modeling/receiver/RabbitMqListener.java

+ 4 - 0
src/main/java/com/fdkankan/modeling/receiver/RabbitMqListener.java

@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.CommonOperStatus;
 import com.fdkankan.common.constant.ModelingBuildStatus;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.model.utils.ComputerUtil;
+import com.fdkankan.model.utils.CreateObjUtil;
 import com.fdkankan.modeling.bean.BuildSceneResultBean;
 import com.fdkankan.modeling.constants.SysConstants;
 import com.fdkankan.modeling.entity.BuildLog;
@@ -181,6 +182,9 @@ public class RabbitMqListener {
             } else {
                 status = ModelingBuildStatus.FAILED;
             }
+        }finally {
+            //杀掉算法进程,否则有可能导致上一个超时的算法进程没终止,下一个场景算法进程启动,一台机器有两个算法进程在跑
+            CreateObjUtil.killMainLoader();
         }
         buildLog.setStatus(status.code());
         buildSceneResult.setCameraType(message.getCameraType());