定义PBS接口
This commit is contained in:
33
pbs/src/main/java/com/sdm/pbs/model/bo/HpcJobStatusInfo.java
Normal file
33
pbs/src/main/java/com/sdm/pbs/model/bo/HpcJobStatusInfo.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.sdm.pbs.model.bo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
public class HpcJobStatusInfo {
|
||||
|
||||
@Schema(description = "作业ID")
|
||||
public String jobId;
|
||||
|
||||
@Schema(description = "作业名称")
|
||||
public String jobName;
|
||||
|
||||
@Schema(description = "作业状态 1:pending 2:submitting 3:running 4:succeed 5:failed")
|
||||
public int jobStatus;
|
||||
|
||||
@Schema(description = "作业所占核数")
|
||||
public int coreNum;
|
||||
|
||||
@Schema(description = "作业占用内存大小")
|
||||
public int memory;
|
||||
|
||||
@Schema(description = "作业开始时间")
|
||||
public String startTime;
|
||||
|
||||
@Schema(description = "作业结束时间")
|
||||
public String endTime;
|
||||
|
||||
@Schema(description = "作业提交时间")
|
||||
public String submitTime;
|
||||
|
||||
@Schema(description = "作业计算软件")
|
||||
public String software;
|
||||
}
|
||||
25
pbs/src/main/java/com/sdm/pbs/model/bo/HpcNodeInfo.java
Normal file
25
pbs/src/main/java/com/sdm/pbs/model/bo/HpcNodeInfo.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.sdm.pbs.model.bo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class HpcNodeInfo {
|
||||
|
||||
@Schema(description = "计算节点名称")
|
||||
public String nodeName;
|
||||
|
||||
@Schema(description = "计算节点状态 0:down 1:running 2:suspend")
|
||||
public int nodeStatus;
|
||||
|
||||
@Schema(description = "节点总核数")
|
||||
public int totalCores;
|
||||
|
||||
@Schema(description = "可用核数")
|
||||
public int freeCores;
|
||||
|
||||
@Schema(description = "已用核数")
|
||||
public int usedCores;
|
||||
|
||||
}
|
||||
21
pbs/src/main/java/com/sdm/pbs/model/bo/HpcResouceInfo.java
Normal file
21
pbs/src/main/java/com/sdm/pbs/model/bo/HpcResouceInfo.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.sdm.pbs.model.bo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class HpcResouceInfo {
|
||||
|
||||
@Schema(description = "资源总核数")
|
||||
public int totalCores;
|
||||
|
||||
@Schema(description = "已用核数")
|
||||
public int usedCores;
|
||||
|
||||
@Schema(description = "空闲核数")
|
||||
public int freeCores;
|
||||
|
||||
@Schema(description = "节点核数信息")
|
||||
private List<HpcNodeInfo> nodeList = new ArrayList<>();
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.sdm.pbs.model.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SubmitHpcTaskReq {
|
||||
|
||||
@Schema(description = "计算任务名称")
|
||||
public String jobName;
|
||||
|
||||
@Schema(description = "计算所需要核数")
|
||||
public int coreNum;
|
||||
|
||||
@Schema(description = "计算软件")
|
||||
public String software;
|
||||
|
||||
@Schema(description = "计算任务类型")
|
||||
public String jobType;
|
||||
|
||||
@Schema(description = "计算任务是否独立存在 0:非独立任务 1:独立任务")
|
||||
public int independence;
|
||||
|
||||
@Schema(description = "求解文件")
|
||||
public List<String> inputFiles = new ArrayList<>();
|
||||
|
||||
@Schema(description = "计算主文件")
|
||||
public String masterFile;
|
||||
|
||||
@Schema(description = "计算任务所属任务ID")
|
||||
public String taskId;
|
||||
|
||||
@Schema(description = "计算任务所属任务名称")
|
||||
public String taskName;
|
||||
|
||||
@Schema(description = "计算任务所属算力ID")
|
||||
public String runId;
|
||||
|
||||
@Schema(description = "计算任务所属算力名称")
|
||||
public String runName;
|
||||
}
|
||||
55
pbs/src/main/java/com/sdm/pbs/service/IPbsService.java
Normal file
55
pbs/src/main/java/com/sdm/pbs/service/IPbsService.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package com.sdm.pbs.service;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.pbs.model.bo.FileBaseInfo;
|
||||
import com.sdm.pbs.model.bo.HpcJobStatusInfo;
|
||||
import com.sdm.pbs.model.bo.HpcResouceInfo;
|
||||
import com.sdm.pbs.model.req.SubmitHpcTaskReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IPbsService {
|
||||
|
||||
/**
|
||||
* 查询HPC资源信息
|
||||
* @return
|
||||
*/
|
||||
SdmResponse<HpcResouceInfo> queryHpcResource();
|
||||
|
||||
/**
|
||||
* 提交HPC作业
|
||||
* @param req
|
||||
* @return 返回jobId
|
||||
*/
|
||||
SdmResponse<String> submitHpcJob(SubmitHpcTaskReq req);
|
||||
|
||||
/**
|
||||
* 停止HPC作业
|
||||
* @param jobId
|
||||
* @return
|
||||
*/
|
||||
SdmResponse<Boolean> stopHpcJob(String jobId);
|
||||
|
||||
|
||||
/**
|
||||
* 作业状态查询
|
||||
* @param jobId
|
||||
* @return
|
||||
*/
|
||||
SdmResponse<HpcJobStatusInfo> getJobStatus(String jobId);
|
||||
|
||||
/**
|
||||
* 获取计算文件结果目录文件信息
|
||||
* @param jobId
|
||||
* @return
|
||||
*/
|
||||
SdmResponse<List<FileBaseInfo>> getJobResultFiles(String jobId);
|
||||
|
||||
/**
|
||||
* 下载计算结果文件
|
||||
* @param jobId
|
||||
* @param fileName
|
||||
* @return
|
||||
*/
|
||||
SdmResponse downloadFile(String jobId, String fileName);
|
||||
}
|
||||
Reference in New Issue
Block a user