Merge pull request 'updated createdeploytask logics' (#299) from tzwang/pcm-coordinator:master into master

Former-commit-id: 1e098dc4bca0bcc08c005b260141f5255416a8d3
This commit is contained in:
tzwang 2024-09-02 17:27:21 +08:00
commit d81bc5a2d9
6 changed files with 35 additions and 8 deletions

View File

@ -200,7 +200,7 @@ type (
AdapterAvail {
AdapterId string `json:"adapterId"`
AdapterName string `json:"taskName"`
AdapterName string `json:"adapterName"`
Clusters []*ClusterAvail `json:"clusters"`
}

View File

@ -95,7 +95,7 @@ func (l *CreateDeployTaskLogic) createDeployInstance(taskId int64, adapterId str
return err
}
_, err = l.svcCtx.Scheduler.AiStorages.SaveInferDeployInstance(taskId, ins.InstanceId, ins.InstanceName, aid, adapterName, cid, clusterName, ins.ModelName, ins.ModelType, ins.InferCard)
_, err = l.svcCtx.Scheduler.AiStorages.SaveInferDeployInstance(taskId, ins.InstanceId, ins.InstanceName, aid, adapterName, cid, clusterName, ins.ModelName, ins.ModelType, ins.InferCard, ins.ClusterType)
if err != nil {
return err
}

View File

@ -52,7 +52,10 @@ func (l *DeployInstanceListLogic) DeployInstanceList(req *types.DeployInstanceLi
return nil, errors.New(err.Error())
}
deployTasks := l.GenerateDeployTasks(tasklist)
deployTasks, err := l.GenerateDeployTasks(tasklist)
if err != nil {
return nil, errors.New(err.Error())
}
slices := make([][]*models.AiInferDeployInstance, len(deployTasks))
for i := 0; i < len(deployTasks); i++ {
slices[i] = deployTasks[i].Instances
@ -83,12 +86,20 @@ func (l *DeployInstanceListLogic) DeployInstanceList(req *types.DeployInstanceLi
return
}
func (l *DeployInstanceListLogic) GenerateDeployTasks(tasklist []*models.AiDeployInstanceTask) []*DeployTask {
func (l *DeployInstanceListLogic) GenerateDeployTasks(tasklist []*models.AiDeployInstanceTask) ([]*DeployTask, error) {
var tasks []*DeployTask
for _, t := range tasklist {
list, err := l.svcCtx.Scheduler.AiStorages.GetInstanceListByDeployTaskId(t.Id)
if err != nil {
logx.Errorf("db GetInstanceListByDeployTaskId error")
return nil, errors.New(err.Error())
}
if len(list) == 0 {
err := l.svcCtx.Scheduler.AiStorages.DeleteDeployTaskById(t.Id)
if err != nil {
logx.Errorf("db DeleteByDeployTaskId error")
return nil, errors.New(err.Error())
}
continue
}
deployTask := &DeployTask{
@ -99,7 +110,7 @@ func (l *DeployInstanceListLogic) GenerateDeployTasks(tasklist []*models.AiDeplo
}
tasks = append(tasks, deployTask)
}
return tasks
return tasks, nil
}
type DeployTask struct {

View File

@ -374,7 +374,7 @@ func (s *AiStorage) AddNoticeInfo(adapterId string, adapterName string, clusterI
}
func (s *AiStorage) SaveInferDeployInstance(taskId int64, instanceId string, instanceName string, adapterId int64,
adapterName string, clusterId int64, clusterName string, modelName string, modelType string, inferCard string) (int64, error) {
adapterName string, clusterId int64, clusterName string, modelName string, modelType string, inferCard string, clusterType string) (int64, error) {
startTime := time.Now().Format(time.RFC3339)
// 构建主任务结构体
insModel := models.AiInferDeployInstance{
@ -388,7 +388,8 @@ func (s *AiStorage) SaveInferDeployInstance(taskId int64, instanceId string, ins
ModelName: modelName,
ModelType: modelType,
InferCard: inferCard,
Status: constants.Stopped,
ClusterType: clusterType,
Status: constants.Deploying,
CreateTime: startTime,
UpdateTime: startTime,
}
@ -464,6 +465,15 @@ func (s *AiStorage) UpdateDeployTask(task *models.AiDeployInstanceTask, needUpda
return nil
}
func (s *AiStorage) DeleteDeployTaskById(id int64) error {
tx := s.DbEngin.Delete(&models.AiDeployInstanceTask{}, id)
if tx.Error != nil {
logx.Errorf(tx.Error.Error())
return tx.Error
}
return nil
}
func (s *AiStorage) UpdateDeployTaskById(id int64) error {
task, err := s.GetDeployTaskById(id)
if err != nil {

View File

@ -1158,10 +1158,14 @@ func (o *OctopusLink) GetInferDeployInstance(ctx context.Context, id string) (*i
url := strings.Replace(resp.Payload.Notebook.Tasks[0].Url, FORWARD_SLASH, "", -1)
inferUrl := DOMAIN + url
var modelType string
var modelName string
var card string
if resp.Payload.Notebook.Desc != "" {
str := strings.Split(resp.Payload.Notebook.Desc, FORWARD_SLASH)
if len(str) == 3 {
modelType = str[0]
modelName = str[1]
card = str[2]
}
}
@ -1171,6 +1175,8 @@ func (o *OctopusLink) GetInferDeployInstance(ctx context.Context, id string) (*i
ins.ClusterName = o.platform
ins.Status = resp.Payload.Notebook.Status
ins.ClusterType = TYPE_OCTOPUS
ins.ModelType = modelType
ins.ModelName = modelName
ins.InferUrl = inferUrl
ins.InferCard = card

View File

@ -6096,7 +6096,7 @@ type GetAdaptersByModelResp struct {
type AdapterAvail struct {
AdapterId string `json:"adapterId"`
AdapterName string `json:"taskName"`
AdapterName string `json:"adapterName"`
Clusters []*ClusterAvail `json:"clusters"`
}