root 2 年之前
父節點
當前提交
f75d68a523

+ 4 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/ProjectService.java

@@ -575,8 +575,11 @@ public class ProjectService {
         //4 删除项目 pod 启动文件
         FileUtil.deleteFileBySubstring(podYamlDirectory, projectId);
 
-        //4 删除项目临时文件
+        //5 删除项目临时文件
         FileUtil.rm(linuxTempPath + "project/" + projectId + "/");
+
+        //6 删除 minio 残留文件
+        MinioUtil.rmR(minioClient, bucketName, projectResultPathOfMinio + projectId + "/");
     }
 
 

+ 32 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/MinioUtil.java

@@ -3,7 +3,9 @@ package com.css.simulation.resource.scheduler.util;
 import io.minio.*;
 import io.minio.errors.*;
 import io.minio.http.Method;
+import io.minio.messages.Item;
 import jdk.nashorn.internal.runtime.regexp.joni.exception.InternalException;
+import lombok.SneakyThrows;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
@@ -14,6 +16,36 @@ import java.security.NoSuchAlgorithmException;
 
 public class MinioUtil {
 
+    /**
+     * 删除文件夹
+     *
+     * @param bucketName bucket名称
+     * @param prefix     文件夹全路径
+     * @since tarzan LIU
+     */
+    @SneakyThrows
+    public static void rmR(MinioClient minioClient, String bucketName, String prefix) {
+        Iterable<Result<Item>> list = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName)
+                .prefix(prefix).recursive(true).build());
+        for (Result<Item> object : list) {
+            rm(minioClient, bucketName, object.get().objectName());
+        }
+    }
+    /**
+     * 删除文件
+     *
+     * @param minioClient minio 客户端对象
+     * @param bucket      桶
+     * @param object      文件对象
+     */
+    @SneakyThrows
+    public static void rm(MinioClient minioClient, String bucket, String object) {
+        minioClient.removeObject(RemoveObjectArgs.builder()
+                .bucket(bucket)
+                .object(object)
+                .build());
+    }
+
     /**
      * 判断 bucket 是否存在
      */