LingxinMeng hace 2 años
padre
commit
66fc6b4c03

+ 4 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/consumer/ProjectConsumer.java

@@ -172,6 +172,7 @@ public class ProjectConsumer {
                         String xoscPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + xoscSuffix;
                         MinioUtil.downloadToFile(minioClient, bucketName, scenarioOsc, xoscPathOfLinux);
                         MinioUtil.uploadFromFile(minioClient, xoscPathOfLinux, bucketName, xoscPathOfMinio);
+                        FileUtil.rm(xoscPathOfLinux);   // 删除临时文件
 
                         String scenarioOdr = sceneEntity.getScenarioOdr();
                         String[] splitXodr = scenarioOdr.split("/");
@@ -182,6 +183,7 @@ public class ProjectConsumer {
                         String xodrPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + xodrSuffix;
                         MinioUtil.downloadToFile(minioClient, bucketName, scenarioOdr, xodrPathOfLinux);
                         MinioUtil.uploadFromFile(minioClient, xodrPathOfLinux, bucketName, xodrPathOfMinio);
+                        FileUtil.rm(xodrPathOfLinux);   // 删除临时文件
 
                         String scenarioOsgb = sceneEntity.getScenarioOsgb();
                         String[] splitOsgb = scenarioOsgb.split("/");
@@ -192,7 +194,7 @@ public class ProjectConsumer {
                         String osgbPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + osgbSuffix;
                         MinioUtil.downloadToFile(minioClient, bucketName, scenarioOsgb, osgbPathOfLinux);
                         MinioUtil.uploadFromFile(minioClient, osgbPathOfLinux, bucketName, osgbPathOfMinio);
-                        log.info("已经将 xosc、xodr、osgb 上传到 minio 的结果文件目录:" + projectResultPathOfMinio);
+                        FileUtil.rm(osgbPathOfLinux);   // 删除临时文件
 
                         // 组装 task 消息
                         TaskMessageEntity taskMessageEntity = TaskMessageEntity.builder().info(InfoEntity.builder().project_id(taskEntity.getPId()).task_id(taskEntity.getId()).task_path(taskEntity.getRunResultFilePath()).default_time(videoTime).build()).scenario(ScenarioEntity.builder().scenario_osc(xoscPathOfMinio).scenario_odr(xodrPathOfMinio).scenario_osgb(osgbPathOfMinio).build()).vehicle(VehicleModel.builder().model(ModelEntity.builder().model_label(vehicleEntity.getModelLabel()).build()).dynamics(DynamicsModel.builder().dynamics_maxspeed(vehicleEntity.getMaxSpeed()).dynamics_enginepower(vehicleEntity.getEnginePower()).dynamics_maxdecel(vehicleEntity.getMaxDeceleration()).dynamics_maxsteering(vehicleEntity.getMaxSteeringAngle()).dynamics_mass(vehicleEntity.getMass()).dynamics_frontsurfaceeffective(vehicleEntity.getFrontSurfaceEffective()).dynamics_airdragcoefficient(vehicleEntity.getAirDragCoefficient()).dynamics_rollingresistance(vehicleEntity.getRollingResistanceCoefficient()).dynamics_wheeldiameter(vehicleEntity.getWheelDiameter()).dynamics_wheeldrive(vehicleEntity.getWheelDrive()).dynamics_overallefficiency(vehicleEntity.getOverallEfficiency()).dynamics_distfront(vehicleEntity.getFrontDistance()).dynamics_distrear(vehicleEntity.getRearDistance()).dynamics_distleft(vehicleEntity.getLeftDistance()).dynamics_distright(vehicleEntity.getRightDistance()).dynamics_distheight(vehicleEntity.getHeightDistance()).dynamics_wheelbase(vehicleEntity.getWheelbase()).build()).sensors(SensorsEntity.builder()   // 根据 vehicleId 查询绑定的传感器列表
@@ -340,12 +342,12 @@ public class ProjectConsumer {
             throw new RuntimeException("未知角色类型:" + roleCode);
         }
         PrefixEntity redisPrefix = projectUtil.getRedisPrefixByClusterIdAndProjectId(clusterEntity.getId(), projectId);
-        projectUtil.checkLicense(userId,clusterEntity.getNumSimulationLicense(),clusterEntity.getNumDynamicLicense());
         if (DictConstants.MODEL_TYPE_VTD.equals(modelType)) {
             // 获取仿真软件证书数量和动力学软件证书数量(vtd占一个仿真证书,carsim各占一个)
 //            // 获取正在运行的项目的并行度总和
 //            int currentParallelismSum = projectUtil.getCurrentParallelismSum(redisPrefix.getClusterRunningPrefix());
             // 如果执行后的并行度总和小于最大节点数则执行,否则不执行
+            final Integer usingLicenseNumber = projectUtil.getUsingLicenseNumber(userId, DictConstants.MODEL_TYPE_VTD);
             if (projectUtil.getUsingLicenseNumber(userId, DictConstants.MODEL_TYPE_VTD) + parallelism <= clusterEntity.getNumSimulationLicense()) {
                 run(projectMessageDTO, userId, modelType, clusterEntity.getId(), redisPrefix.getProjectRunningKey(), redisPrefix.getProjectWaitingKey());
             } else {

+ 1 - 13
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/ProjectUtil.java

@@ -609,7 +609,7 @@ public class ProjectUtil {
         if (CollectionUtil.isEmpty(keys)) {
             return new ArrayList<>();
         } else {
-            return keys.stream().filter(key -> key.contains("waiting") && key.contains("message")).collect(Collectors.toList());
+            return keys.stream().filter(key -> key.contains("cluster") && key.contains("waiting")).collect(Collectors.toList());
         }
     }
 
@@ -644,18 +644,6 @@ public class ProjectUtil {
     }
 
 
-    public void checkLicense(String userId,Integer numSimulationLicense, Integer numDynamicLicense) {
-        String key1 = "user:" + userId + ":using-license:vtd";
-        final String usingLicense1 = customRedisClient.get(key1);
-        if (StringUtil.isEmpty(usingLicense1)) {
-            customRedisClient.set(key1, numSimulationLicense.toString());
-        }
-        String key2 = "user:" + userId + ":using-license:carsim";
-        final String usingLicense2 = customRedisClient.get(key2);
-        if (StringUtil.isEmpty(usingLicense2)) {
-            customRedisClient.set(key2, numDynamicLicense.toString());
-        }
-    }
 
     public Integer getUsingLicenseNumber(String userId, String modelType) {
         String key;

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/TaskUtil.java

@@ -469,6 +469,7 @@ public class TaskUtil {
         RedisUtil.deleteByPrefix(stringRedisTemplate, "project:" + projectId);
         // 删除剩余 yaml
         projectUtil.deleteYamlByProjectId(projectId);
+        //
     }