28 lines
862 B
Go
28 lines
862 B
Go
package services
|
|
|
|
import (
|
|
"fmt"
|
|
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
|
|
schglb "gitlink.org.cn/cloudream/scheduler/common/globals"
|
|
mgrmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/manager"
|
|
)
|
|
|
|
// Create 创建多实例任务中的实例任务
|
|
func (svc *JobSetService) CreateInstance(jobID schsdk.JobID, LocalPath schsdk.JobFileInfo) (schsdk.JobID, schsdk.JobFilesUploadScheme, error) {
|
|
|
|
scheme := new(schsdk.JobFilesUploadScheme)
|
|
|
|
mgrCli, err := schglb.ManagerMQPool.Acquire()
|
|
if err != nil {
|
|
return "", *scheme, fmt.Errorf("new manager client: %w", err)
|
|
}
|
|
defer schglb.ManagerMQPool.Release(mgrCli)
|
|
|
|
resp, err := mgrCli.CreateInstance(mgrmq.NewCreateInstance(jobID, LocalPath))
|
|
if err != nil {
|
|
return "", *scheme, fmt.Errorf("submitting job set to manager: %w", err)
|
|
}
|
|
|
|
return resp.InstanceID, resp.UploadScheme, nil
|
|
}
|