diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java index 0860d783..3f852dc9 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayInsServiceImpl.java @@ -19,7 +19,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; @@ -33,6 +32,8 @@ public class RayInsServiceImpl implements RayInsService { private String argoWorkflowStatus; @Value("${argo.workflowTermination}") private String argoWorkflowTermination; + @Value("${minio.dataReleaseBucketName}") + private String bucketName; @Resource private RayInsDao rayInsDao; @@ -266,37 +267,40 @@ public class RayInsServiceImpl implements RayInsService { public ArrayList> getTrialList(String directoryPath) throws Exception { // 获取指定路径下的所有文件 - String bucketName = directoryPath.substring(0, directoryPath.indexOf("/")); String prefix = directoryPath.substring(directoryPath.indexOf("/") + 1, directoryPath.length()) + "/"; - List maps = minioUtil.listFilesInDirectory(bucketName, prefix); - Path dirPath = Paths.get(directoryPath); - Path experimentState = Files.list(dirPath).filter(path -> Files.isRegularFile(path) && path.getFileName().toString().startsWith("experiment_state")).collect(Collectors.toList()).get(0); - String content = new String(Files.readAllBytes(experimentState)); - Map result = JsonUtils.jsonToMap(content); - ArrayList trial_data_list = (ArrayList) result.get("trial_data"); + if (!maps.isEmpty()) { + List collect = maps.stream().filter(map -> map.get("name").toString().startsWith("experiment_state")).collect(Collectors.toList()); + if (!collect.isEmpty()) { + Path experimentState = Paths.get(collect.get(0).get("name").toString()); + String content = minioUtil.readObjectAsString(bucketName, prefix + "/" + experimentState); - ArrayList> trialList = new ArrayList<>(); + Map result = JsonUtils.jsonToMap(content); + ArrayList trial_data_list = (ArrayList) result.get("trial_data"); + ArrayList> trialList = new ArrayList<>(); - for (ArrayList trial_data : trial_data_list) { - Map trial_data_0 = JsonUtils.jsonToMap((String) trial_data.get(0)); - Map trial_data_1 = JsonUtils.jsonToMap((String) trial_data.get(1)); + for (ArrayList trial_data : trial_data_list) { + Map trial_data_0 = JsonUtils.jsonToMap((String) trial_data.get(0)); + Map trial_data_1 = JsonUtils.jsonToMap((String) trial_data.get(1)); - Map trial = new HashMap<>(); - trial.put("trial_id", trial_data_0.get("trial_id")); - trial.put("config", trial_data_0.get("config")); - trial.put("status", trial_data_0.get("status")); + Map trial = new HashMap<>(); + trial.put("trial_id", trial_data_0.get("trial_id")); + trial.put("config", trial_data_0.get("config")); + trial.put("status", trial_data_0.get("status")); - Map last_result = (Map) trial_data_1.get("last_result"); - Map metric_analysis = (Map) trial_data_1.get("metric_analysis"); - Map time_total_s = (Map) metric_analysis.get("time_total_s"); + Map last_result = (Map) trial_data_1.get("last_result"); + Map metric_analysis = (Map) trial_data_1.get("metric_analysis"); + Map time_total_s = (Map) metric_analysis.get("time_total_s"); - trial.put("training_iteration", last_result.get("training_iteration")); - trial.put("time", time_total_s.get("avg")); + trial.put("training_iteration", last_result.get("training_iteration")); + trial.put("time", time_total_s.get("avg")); - trialList.add(trial); + trialList.add(trial); + } + return trialList; + } } - return trialList; + return null; } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java index db003344..67f30d29 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java @@ -197,8 +197,7 @@ public class RayServiceImpl implements RayService { Map param_output = (Map) output.get("param_output"); List output1 = (ArrayList) param_output.values().toArray()[0]; Map output2 = (Map) output1.get(0); - String outputPath = minioEndpoint + "/" + output2.get("path").replace("{{workflow.name}}", (String) metadata.get("name")) + "/" + ray.getName(); - + String outputPath = output2.get("path").replace("{{workflow.name}}", (String) metadata.get("name")) + "/hpo"; rayIns.setResultPath(outputPath); rayInsDao.insert(rayIns); rayInsService.updateRayStatus(id); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayParamVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayParamVo.java index 4b6e1c5a..86c77018 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayParamVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayParamVo.java @@ -24,8 +24,6 @@ public class RayParamVo { private String mainPy; - private String name; - private Integer numSamples; private String parameters;