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

40 lines
988 B
Go

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