Browse Source

Merge branch 'dev' of https://gitlink.org.cn/ci4s/ci4sManagement-cloud into dev

dev-active_learn
somunslotus 11 months ago
parent
commit
811098e83e
2 changed files with 43 additions and 3 deletions
  1. +5
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java
  2. +38
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java

+ 5
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java View File

@@ -277,7 +277,7 @@ public class RayInsServiceImpl implements RayInsService {
rayIns.setResultTxt(endpoint + "/" + directoryPath + "/result.txt"); rayIns.setResultTxt(endpoint + "/" + directoryPath + "/result.txt");


String prefix = directoryPath.substring(directoryPath.indexOf("/") + 1, directoryPath.length()) + "/"; String prefix = directoryPath.substring(directoryPath.indexOf("/") + 1, directoryPath.length()) + "/";
List<Map> maps = minioUtil.listFilesInDirectory(bucketName, prefix);
List<Map> maps = minioUtil.listRayFilesInDirectory(bucketName, prefix);


if (!maps.isEmpty()) { if (!maps.isEmpty()) {
rayIns.setFileList(maps); rayIns.setFileList(maps);
@@ -304,7 +304,10 @@ public class RayInsServiceImpl implements RayInsService {
Map<String, Object> time_total_s = (Map<String, Object>) metric_analysis.get("time_total_s"); Map<String, Object> time_total_s = (Map<String, Object>) metric_analysis.get("time_total_s");


trial.put("training_iteration", last_result.get("training_iteration")); trial.put("training_iteration", last_result.get("training_iteration"));
trial.put("time", time_total_s.get("avg"));
trial.put("time_avg", time_total_s.get("avg"));

Map<String, Object> param = JsonUtils.jsonToMap(rayIns.getParam());
trial.put("metric_analysis", metric_analysis.get((String) param.get("metric")));


trialList.add(trial); trialList.add(trial);
} }


+ 38
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java View File

@@ -1,7 +1,6 @@
package com.ruoyi.platform.utils; package com.ruoyi.platform.utils;




import com.ruoyi.common.security.utils.SecurityUtils;
import io.minio.*; import io.minio.*;
import io.minio.errors.MinioException; import io.minio.errors.MinioException;
import io.minio.messages.DeleteObject; import io.minio.messages.DeleteObject;
@@ -30,6 +29,8 @@ public class MinioUtil {


@Value("${git.localPath}") @Value("${git.localPath}")
String localPath; String localPath;
@Value("${minio.endpointIp}")
String minioEndpoint;


@Autowired @Autowired
public MinioUtil(@Value("${minio.endpoint}") String minioEndpoint, @Value("${minio.accessKey}") String minioAccessKey, @Value("${minio.secretKey}") String minioSecretKey) { public MinioUtil(@Value("${minio.endpoint}") String minioEndpoint, @Value("${minio.accessKey}") String minioAccessKey, @Value("${minio.secretKey}") String minioSecretKey) {
@@ -315,12 +316,48 @@ public class MinioUtil {
Item item = result.get(); Item item = result.get();
String fullPath = item.objectName(); String fullPath = item.objectName();
Path path = Paths.get(fullPath); Path path = Paths.get(fullPath);

String fileName = path.getFileName().toString();
long fileSize = item.size();
String formattedSize = FileUtil.formatFileSize(fileSize); // 格式化文件大小
Map map = new HashMap<>();
map.put("name", fileName);
map.put("size", formattedSize);
fileInfoList.add(map);
}

return fileInfoList;
}


public List<Map> listRayFilesInDirectory(String bucketName, String prefix) throws Exception {
List<Map> fileInfoList = new ArrayList<>();
Iterable<Result<Item>> results = minioClient.listObjects(
ListObjectsArgs.builder()
.prefix(prefix)
.bucket(bucketName)
.build());

for (Result<Item> result : results) {
Item item = result.get();
String fullPath = item.objectName();
Path path = Paths.get(fullPath);

String fileName = path.getFileName().toString(); String fileName = path.getFileName().toString();
long fileSize = item.size(); long fileSize = item.size();
String formattedSize = FileUtil.formatFileSize(fileSize); // 格式化文件大小 String formattedSize = FileUtil.formatFileSize(fileSize); // 格式化文件大小
Map map = new HashMap<>(); Map map = new HashMap<>();
map.put("name", fileName); map.put("name", fileName);
map.put("size", formattedSize); map.put("size", formattedSize);

if ((fileName.startsWith("run") || fileName.startsWith("checkpoint")) && fileSize == 0) {
map.put("isDirectory", true);
map.put("children", listRayFilesInDirectory(bucketName, fullPath));
} else {
map.put("isFile", true);
map.put("url", minioEndpoint + "/" + bucketName + "/" + fullPath);
}

fileInfoList.add(map); fileInfoList.add(map);
} }




Loading…
Cancel
Save