22 lines
796 B
Go
22 lines
796 B
Go
package services
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/common/consts/errorcode"
|
|
"gitlink.org.cn/cloudream/common/pkgs/logger"
|
|
"gitlink.org.cn/cloudream/common/pkgs/mq"
|
|
"gitlink.org.cn/cloudream/common/utils/reflect2"
|
|
myglbs "gitlink.org.cn/cloudream/scheduler/advisor/internal/globals"
|
|
advmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/advisor"
|
|
)
|
|
|
|
func (svc *Service) StartTask(msg *advmq.StartTask) (*advmq.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(advmq.NewStartTaskResp(myglbs.AdvisorID, tsk.ID()))
|
|
}
|