Parcourir la source

Merge branch 'project-jmga-2.2.0-2.0.1' into project-jmga-dev

dengsixing il y a 1 mois
Parent
commit
36bdf7ea92

+ 10 - 0
src/main/java/com/fdkankan/contro/service/impl/MjServiceImpl.java

@@ -21,6 +21,7 @@ import com.fdkankan.fyun.config.FYunFileConfig;
 import com.fdkankan.fyun.local.constant.LocalConstants;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.utils.SceneUtil;
+import com.fdkankan.redis.util.RedisLockUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -50,6 +51,8 @@ public class MjServiceImpl implements MjService {
     private CustomHttpClient httpClient;
     @Autowired
     private IHaixinService haixinService;
+    @Resource
+    private RedisLockUtil redisLockUtil;
 
 
     @Override
@@ -68,6 +71,11 @@ public class MjServiceImpl implements MjService {
             String zipDir = ConstantFilePath.BUILD_MODEL_PATH + "bd/" + uuid + "/";
             String taskId = v.getTaskId();
             String kNo = v.getKNo();
+            String lockKey = "sceneOrigBd:taskNo:" + v.getTaskNo();
+            boolean lock = redisLockUtil.lock(lockKey, 30 * 60);
+            if(!lock){
+                continue;
+            }
 
             try {
 
@@ -123,6 +131,8 @@ public class MjServiceImpl implements MjService {
                 haixinService.syncRenderStatus(v.getId(), 1, 0, null);
             } catch (Exception e) {
                 haixinService.syncRenderStatus(v.getId(), -1, 0, ExceptionUtil.stacktraceToString(e, 5000));
+            }finally {
+                redisLockUtil.unlock(lockKey);
             }
         }
     }