JCC-CSScheduler/common/pkgs/mq/executor/task.go

41 lines
1004 B
Go

package executor
import (
"gitlink.org.cn/cloudream/common/pkgs/mq"
schmod "gitlink.org.cn/cloudream/scheduler/common/models"
exectsk "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/executor/task"
)
type TaskService interface {
StartTask(msg *StartTask) (*StartTaskResp, *mq.CodeMessage)
}
// 启动一个任务
var _ = Register(Service.StartTask)
type StartTask struct {
mq.MessageBodyBase
Info exectsk.ExeTaskInfo `json:"info"`
}
type StartTaskResp struct {
mq.MessageBodyBase
ExecutorID schmod.ExecutorID `json:"executorID"`
TaskID string `json:"taskID"`
}
func NewStartTask(info exectsk.ExeTaskInfo) *StartTask {
return &StartTask{
Info: info,
}
}
func NewStartTaskResp(execID schmod.ExecutorID, taskID string) *StartTaskResp {
return &StartTaskResp{
ExecutorID: execID,
TaskID: taskID,
}
}
func (c *Client) StartTask(msg *StartTask, opts ...mq.RequestOption) (*StartTaskResp, error) {
return mq.Request(Service.StartTask, c.rabbitCli, msg, opts...)
}