JCC-CSScheduler/common/models/job/normal_job.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"`
}