73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
package jobmod
|
|
|
|
import (
|
|
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
|
|
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
|
|
)
|
|
|
|
type FileScheduleAction string
|
|
|
|
// 文件调度方案
|
|
const (
|
|
ActionNo FileScheduleAction = "No" // 不需要操作
|
|
ActionMove FileScheduleAction = "Move" // 需要在指定节点上建立缓存
|
|
ActionLoad FileScheduleAction = "Load" // 需要加载到Storage
|
|
ActionImportImage FileScheduleAction = "ImportImage" // 需要导入镜像
|
|
)
|
|
|
|
type FileScheduleScheme struct {
|
|
Action FileScheduleAction `json:"action"`
|
|
}
|
|
|
|
// 任务调度方案
|
|
type JobScheduleScheme struct {
|
|
TargetCCID schsdk.CCID `json:"targetCCID"`
|
|
Dataset FileScheduleScheme `json:"dataset"`
|
|
Code FileScheduleScheme `json:"code"`
|
|
Image FileScheduleScheme `json:"image"`
|
|
}
|
|
|
|
// 任务集的预调度方案
|
|
type JobSetPreScheduleScheme struct {
|
|
JobSchemes map[string]JobScheduleScheme `json:"jobSchemes"` // 任务的预调度方案。Key为LocalJobID
|
|
}
|
|
|
|
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"`
|
|
}
|
|
|
|
type JobStatus struct {
|
|
JobID schsdk.JobID `json:"jobID"`
|
|
JobSetID schsdk.JobSetID `json:"jobSetID"`
|
|
Info schsdk.JobInfo `json:"info"`
|
|
Body JobBodyStatus `json:"body"`
|
|
State JobStateStatus `json:"state"`
|
|
}
|
|
|
|
type JobBodyStatus interface {
|
|
}
|
|
|
|
type NormalJobStatus struct {
|
|
TargetCCID schsdk.CCID `json:"targetCCID"`
|
|
Files JobFiles `json:"files"`
|
|
}
|
|
|
|
type DataReturnJobStatus struct {
|
|
DataReturnPackageID cdssdk.PackageID `json:"dataReturnPackageID"`
|
|
}
|
|
|
|
type JobStateStatus interface {
|
|
}
|