33 lines
854 B
Go
33 lines
854 B
Go
package scheduler
|
|
|
|
import (
|
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/algo"
|
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
|
|
"gitlink.org.cn/jcce-pcm/utils/tool"
|
|
)
|
|
|
|
type hpcScheduler struct {
|
|
yamlString string
|
|
}
|
|
|
|
func NewHpcScheduler(val string) *hpcScheduler {
|
|
return &hpcScheduler{yamlString: val}
|
|
}
|
|
|
|
func (h *hpcScheduler) getNewStructForDb(task *types.TaskInfo, participantId int64) (interface{}, error) {
|
|
hpc := model.Hpc{
|
|
Id: tool.GenSnowflakeID(),
|
|
TaskId: task.TaskId,
|
|
Status: "Saved",
|
|
ParticipantId: participantId,
|
|
YamlString: h.yamlString,
|
|
}
|
|
tool.Convert(task.Metadata, &hpc)
|
|
return hpc, nil
|
|
}
|
|
|
|
func (h *hpcScheduler) pickOptimalStrategy(task *algo.Task, providers ...*algo.Provider) (*algo.Task, error) {
|
|
return nil, nil
|
|
}
|