40 lines
988 B
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...)
|
|
}
|