JCC-CSScheduler/executor/internal/services/task.go

33 lines
1.1 KiB
Go

package services
import (
"gitlink.org.cn/cloudream/common/pkgs/logger"
"gitlink.org.cn/cloudream/common/pkgs/mq"
"gitlink.org.cn/cloudream/common/utils/reflect2"
execmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/executor"
myglbs "gitlink.org.cn/cloudream/scheduler/executor/internal/globals"
"gitlink.org.cn/cloudream/scheduler/executor/internal/task"
)
func (svc *Service) StartTask(msg *execmq.StartTask) (*execmq.StartTaskResp, *mq.CodeMessage) {
//tsk, err := svc.TaskManager.StartByInfo(msg.Info)
//if err != nil {
// logger.WithField("Info", reflect2.TypeOfValue(msg.Info).Name()).
// Warnf("starting task by info: %s", err.Error())
// return nil, mq.Failed(errorcode.OperationFailed, "start task by info failed")
//}
return mq.ReplyOK(execmq.NewStartTaskResp(myglbs.ExecutorID, ""))
}
func (svc *Service) SubmitTask(msg *execmq.StartTask) (*task.Task, error) {
tsk, err := svc.TaskManager.StartByInfo(msg.TaskID, msg.Info)
if err != nil {
logger.WithField("Info", reflect2.TypeOfValue(msg.Info).Name()).
Warnf("starting task by info: %s", err.Error())
return nil, err
}
return tsk, nil
}