LingxinMeng 2 år sedan
förälder
incheckning
c8d2bb95dd

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/TaskService.java

@@ -51,6 +51,7 @@ public class TaskService {
     }
 
 
+
     public Boolean confirm(String taskId) {
         return taskUtil.taskConfirm(taskId);
     }

+ 23 - 9
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/ProjectUtil.java

@@ -679,20 +679,34 @@ public class ProjectUtil {
     }
 
     public void releaseLicense(String userId, String modelType, int parallelism) {
-        String key;
         if (DictConstants.MODEL_TYPE_VTD.equals(modelType)) {
-            key = "user:" + userId + ":using-license:vtd";
+            String key = "user:" + userId + ":using-license:vtd";
+            final String usingLicense = customRedisClient.get(key);
+            if (StringUtil.isEmpty(usingLicense)) {
+                customRedisClient.set(key, "0");
+            } else {
+                customRedisClient.decrement(key, parallelism);
+            }
         } else if (DictConstants.MODEL_TYPE_CARSIM.equals(modelType)) {
-            key = "user:" + userId + ":using-license:carsim";
+            String key1 = "user:" + userId + ":using-license:vtd";
+            final String usingLicense1 = customRedisClient.get(key1);
+            if (StringUtil.isEmpty(usingLicense1)) {
+                customRedisClient.set(key1, "0");
+            } else {
+                customRedisClient.decrement(key1, parallelism);
+            }
+            String key2 = "user:" + userId + ":using-license:carsim";
+            final String usingLicense2 = customRedisClient.get(key2);
+            if (StringUtil.isEmpty(usingLicense2)) {
+                customRedisClient.set(key2, "0");
+            } else {
+                customRedisClient.decrement(key2, parallelism);
+            }
         } else {
             throw new RuntimeException("未知模型类型:" + modelType);
         }
-        final String usingLicense = customRedisClient.get(key);
-        if (StringUtil.isEmpty(usingLicense)) {
-            customRedisClient.set(key, "0");
-        } else {
-            customRedisClient.decrement(key, parallelism);
-        }
+
+
     }
 
 

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

@@ -155,6 +155,7 @@ public class TaskUtil {
                         TimeUnit.SECONDS.sleep(1);
                         final String generateVideoValue = customRedisClient.get(generateVideoKey);
                         if (DictConstants.YES.equals(generateVideoValue)) {
+                            customRedisClient.delete(generateVideoKey);
                             break;
                         }
                     }