42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package mq
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/common/consts/errorcode"
|
|
"gitlink.org.cn/cloudream/common/pkgs/logger"
|
|
"gitlink.org.cn/cloudream/common/pkgs/mq"
|
|
mgrmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/manager"
|
|
)
|
|
|
|
// 提交任务集
|
|
func (svc *Service) SubmitJobSet(msg *mgrmq.SubmitJobSet) (*mgrmq.SubmitJobSetResp, *mq.CodeMessage) {
|
|
logger.Debugf("submitting job")
|
|
|
|
jobSet, err := svc.jobMgr.SubmitJobSet(msg.JobSet, msg.PreScheduleScheme)
|
|
if err != nil {
|
|
logger.Warnf("submitting job set: %s", err.Error())
|
|
return nil, mq.Failed(errorcode.OperationFailed, "submit job set failed")
|
|
}
|
|
|
|
return mq.ReplyOK(mgrmq.NewSubmitJobSetResp(jobSet.JobSetID))
|
|
}
|
|
|
|
// 任务集中某个文件上传完成
|
|
func (svc *Service) JobSetLocalFileUploaded(msg *mgrmq.JobSetLocalFileUploaded) (*mgrmq.JobSetLocalFileUploadedResp, *mq.CodeMessage) {
|
|
logger.WithField("LocalPath", msg.LocalPath).
|
|
WithField("PackageID", msg.PackageID).
|
|
Debugf("local file uploaded")
|
|
|
|
svc.jobMgr.LocalFileUploaded(msg.JobSetID, msg.LocalPath, msg.Error, msg.PackageID)
|
|
return mq.ReplyOK(mgrmq.NewJobSetLocalFileUploadedResp())
|
|
}
|
|
|
|
func (svc *Service) GetJob(msg *mgrmq.GetJob) (*mgrmq.GetJobResp, *mq.CodeMessage) {
|
|
job, err := svc.jobMgr.CloneJob(msg.JobID)
|
|
if err != nil {
|
|
logger.WithField("JobID", msg.JobID).Warnf("cloning job: %s", err.Error())
|
|
return nil, mq.Failed(errorcode.OperationFailed, "get job failed")
|
|
}
|
|
|
|
return mq.ReplyOK(mgrmq.NewGetJobResp(job))
|
|
}
|