47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
package jobmod
|
|
|
|
import (
|
|
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
|
|
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
|
|
)
|
|
|
|
type NormalJob struct {
|
|
JobBase
|
|
Info schsdk.NormalJobInfo `json:"info"` // 提交任务时提供的任务描述信息
|
|
Files JobFiles `json:"files"` // 任务需要的文件
|
|
TargetCCID schsdk.CCID `json:"targetSlwNodeID"` // 将要运行此任务的算力中心ID
|
|
OutputFullPath string `json:"outputFullPath"` // 程序结果的完整输出路径
|
|
}
|
|
|
|
func NewNormalJob(jobSetID schsdk.JobSetID, jobID schsdk.JobID, info schsdk.NormalJobInfo) *NormalJob {
|
|
return &NormalJob{
|
|
JobBase: JobBase{
|
|
JobSetID: jobSetID,
|
|
JobID: jobID,
|
|
},
|
|
Info: info,
|
|
}
|
|
}
|
|
|
|
func (j *NormalJob) Clone() Job {
|
|
tmp := *j
|
|
tmp.State = tmp.State.Clone()
|
|
return &tmp
|
|
}
|
|
|
|
type JobFiles struct {
|
|
Dataset PackageJobFile `json:"dataset"`
|
|
Code PackageJobFile `json:"code"`
|
|
Image ImageJobFile `json:"image"`
|
|
}
|
|
|
|
type PackageJobFile struct {
|
|
PackageID cdssdk.PackageID `json:"packageID"`
|
|
FullPath string `json:"fullPath"` // Load之后的完整文件路径
|
|
}
|
|
|
|
type ImageJobFile struct {
|
|
PackageID *cdssdk.PackageID `json:"packageID"`
|
|
ImageID schsdk.ImageID `json:"imageID"`
|
|
}
|