Browse Source

调整查询任务详情接口

pull/52/head
JeshuaRen 7 months ago
parent
commit
b936b4b0f1
3 changed files with 38 additions and 112 deletions
  1. +10
    -10
      sdks/hpc/job.go
  2. +3
    -3
      sdks/pcmscheduler/jobset.go
  3. +25
    -99
      sdks/pcmscheduler/models.go

+ 10
- 10
sdks/hpc/job.go View File

@@ -9,7 +9,7 @@ import (
"strings" "strings"
) )


type CreateJobReq struct {
type CreateHPCJobReq struct {
Name string `json:"name"` Name string `json:"name"`
ClusterID schsdk.ClusterID `json:"clusterId"` ClusterID schsdk.ClusterID `json:"clusterId"`
Backend string `json:"backend"` Backend string `json:"backend"`
@@ -19,14 +19,14 @@ type CreateJobReq struct {
Parameters map[string]string `json:"parameters"` Parameters map[string]string `json:"parameters"`
} }


type HPCParameter struct {
JobName string `json:"jobName"`
Partition string `json:"partition"`
Ntasks string `json:"ntasks"`
Nodes string `json:"nodes"`
BamFile string `json:"bamFile"`
InputFile string `json:"inputFile"`
}
//type HPCParameter struct {
// JobName string `json:"jobName"`
// Partition string `json:"partition"`
// Ntasks string `json:"ntasks"`
// Nodes string `json:"nodes"`
// BamFile string `json:"bamFile"`
// InputFile string `json:"inputFile"`
//}


type CreateJobResp struct { type CreateJobResp struct {
Backend string `json:"backend"` Backend string `json:"backend"`
@@ -39,7 +39,7 @@ type HPCJobInfo struct {
TaskID string `json:"taskId"` TaskID string `json:"taskId"`
} }


func (c *Client) CreateJob(req CreateJobReq, token string) (*CreateJobResp, error) {
func (c *Client) CreateJob(req CreateHPCJobReq, token string) (*CreateJobResp, error) {
targetUrl, err := url.JoinPath(c.baseURL, "/hpc/commitHpcTask") targetUrl, err := url.JoinPath(c.baseURL, "/hpc/commitHpcTask")
if err != nil { if err != nil {
return nil, err return nil, err


+ 3
- 3
sdks/pcmscheduler/jobset.go View File

@@ -61,7 +61,7 @@ type CreateInferenceJobResp struct {
TaskId string `json:"taskId"` TaskId string `json:"taskId"`
} }


type CreateJobReq struct {
type CreatePCMJobReq struct {
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
JobResources schsdk.JobResources `json:"jobResources"` JobResources schsdk.JobResources `json:"jobResources"`
@@ -125,7 +125,7 @@ type ScheduleData struct {
ClusterIDs []schsdk.ClusterID `json:"clusterIDs"` ClusterIDs []schsdk.ClusterID `json:"clusterIDs"`
} }


func (c *Client) CreateInferenceJob(req CreateJobReq, token string) (*CreateInferenceJobResp, error) {
func (c *Client) CreateInferenceJob(req CreatePCMJobReq, token string) (*CreateInferenceJobResp, error) {
targetUrl, err := url.JoinPath(c.baseURL, "inference/createTask") targetUrl, err := url.JoinPath(c.baseURL, "inference/createTask")
if err != nil { if err != nil {
return nil, err return nil, err
@@ -159,7 +159,7 @@ func (c *Client) CreateInferenceJob(req CreateJobReq, token string) (*CreateInfe


} }


func (c *Client) CreateJob(req CreateJobReq, token string) (*CreateJobResp, error) {
func (c *Client) CreateJob(req CreatePCMJobReq, token string) (*CreateJobResp, error) {
targetUrl, err := url.JoinPath(c.baseURL, "schedule/createTask") targetUrl, err := url.JoinPath(c.baseURL, "schedule/createTask")
if err != nil { if err != nil {
return nil, err return nil, err


+ 25
- 99
sdks/pcmscheduler/models.go View File

@@ -2,6 +2,7 @@ package sch


import ( import (
"gitlink.org.cn/cloudream/common/pkgs/types" "gitlink.org.cn/cloudream/common/pkgs/types"
"gitlink.org.cn/cloudream/common/sdks/hpc"
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler" schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
"gitlink.org.cn/cloudream/common/utils/serder" "gitlink.org.cn/cloudream/common/utils/serder"
@@ -239,122 +240,47 @@ type ResourceRange struct {
Ids []string `json:"ids"` Ids []string `json:"ids"`
} }


type QueryTaskResultReq struct {
TaskID string `json:"taskID" binding:"required"`
UserID cdssdk.UserID `json:"userID" binding:"required"`
PackageID cdssdk.PackageID `json:"packageID" binding:"required"`
}

type PCMJobData struct {
ID string `json:"id"`
CreatedAt time.Time `json:"created_at"`
Param string `json:"param"`
}

type JobInfo struct { type JobInfo struct {
Name string `json:"name"`
Description string `json:"description,optional"`
JobResources JobResources `json:"jobResources"`
DataDistributeData DataDistributeData `json:"dataDistributes"`
ResultFile ResultFile `json:"resultFile"`
TaskID string `json:"taskID"`
JobSubmitInfo JobSubmitInfo `json:"jobSubmitInfo"`
ResultFiles []ResultFile `json:"resultFiles"`
} }


type ResultFile struct { type ResultFile struct {
CommonPrefixes []interface{} `json:"commonPrefixes"`
Objects []Object `json:"objects"`
}

// Object 表示对象结构体
type Object struct {
ObjectID int `json:"objectID"`
PackageID int `json:"packageID"`
Path string `json:"path"`
Size string `json:"size"`
FileHash string `json:"fileHash"`
Redundancy Redundancy `json:"redundancy"`
CreateTime time.Time `json:"createTime"`
UpdateTime time.Time `json:"updateTime"`
}

// Redundancy 表示冗余信息结构体
type Redundancy struct {
Type string `json:"type"`
RepCount int `json:"repCount"`
}

type DataDistributeData struct {
Dataset []DataItem `json:"dataset"`
Code []DataItem `json:"code"`
Image []DataItem `json:"image"`
Model []DataItem `json:"model"`
}

// DataItem 定义 dataDistributes 中的数据项结构体
type DataItem struct {
DataName string `json:"dataName"`
PackageID int `json:"packageID"`
PackageName string `json:"packageName"`
ResourceFile string `json:"resourceFile"`
Clusters []DataDetail `json:"clusters"`
ClusterID schsdk.ClusterID `json:"clusterID"`
Objects []cdssdk.Object `json:"objects"`
} }


type JobResources struct {
ScheduleStrategy string `json:"scheduleStrategy"`
Clusters []*JobClusterInfo `json:"clusters"`
type JobSubmitInfo interface {
Noop()
} }


type JobClusterInfo struct {
ClusterID string `json:"clusterID"`
Resources []map[string]interface{} `json:"resources,optional"`
Runtime JobRuntimeInfo `json:"runtime,optional"`
type JobSubmitInfoBase struct {
} }


type JobRuntimeInfo struct {
Command string `json:"command,optional"`
Envs map[string]interface{} `json:"envs,optional"`
Params map[string]interface{} `json:"params,optional"`
}
var JobSubmitInfoTypeUnion = types.NewTypeUnion[JobSubmitInfo](
(*PCMJobSubmitInfo)(nil),
(*HPCJobSubmitInfo)(nil),
)


// Engine 定义 engine 结构体
type Engine struct {
EngineName string `json:"EngineName"`
EngineVersion string `json:"EngineVersion"`
ImageUrl string `json:"ImageUrl"`
InstallSysPackages bool `json:"InstallSysPackages"`
}
var _ = serder.UseTypeUnionInternallyTagged(&JobSubmitInfoTypeUnion, "type")


// bindingCluster 定义根结构体
type BindingParam struct {
Name string `json:"name"`
Description string `json:"description"`
Engine Engine `json:"engine"`
CodeDir string `json:"codeDir"`
BootFile string `json:"bootFile"`
Branch string `json:"branch"`
Platform string `json:"platform"`
UserID int `json:"userID"`
PackageId int `json:"packageId"`
BucketID int `json:"bucketID"`
}
func (d *JobSubmitInfoBase) Noop() {}


// bindingCluster 定义根结构体
type BindingCluster struct {
BindingId int `json:"binding_id"`
ClusterId string `json:"cluster_id"`
Status string `json:"status"`
Param string `json:"param"`
type PCMJobSubmitInfo struct {
serder.Metadata `union:"pcm"`
JobSubmitInfoBase
Type string `json:"type"`
Info CreatePCMJobReq `json:"info"`
} }


/*type TaskResult struct {
Name string `json:"name"`
Description string `json:"description"`
DataDistribute DataDistribute `json:"dataDistributes"`
type HPCJobSubmitInfo struct {
serder.Metadata `union:"hpc"`
JobSubmitInfoBase
Type string `json:"type"`
Info hpc.CreateHPCJobReq `json:"info"`
} }


type ClusterResources struct {
ClusterId string `json:"clusterId"`
}*/

type Range struct { type Range struct {
Min float64 `json:"min"` Min float64 `json:"min"`
Max float64 `json:"max"` Max float64 `json:"max"`


Loading…
Cancel
Save