From 27d76bbaab706018937f1f60905ddc0a09f26dcb Mon Sep 17 00:00:00 2001 From: tzwang Date: Tue, 15 Oct 2024 17:27:03 +0800 Subject: [PATCH] fix instancelist bugs --- internal/logic/inference/deployinstancelistlogic.go | 13 ------------- .../logic/inference/startdeployinstancelistlogic.go | 6 +++++- internal/logic/inference/stopdeployinstancelogic.go | 6 +++++- internal/scheduler/database/aiStorage.go | 11 +++++++++++ 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/internal/logic/inference/deployinstancelistlogic.go b/internal/logic/inference/deployinstancelistlogic.go index 86b378df..73f67931 100644 --- a/internal/logic/inference/deployinstancelistlogic.go +++ b/internal/logic/inference/deployinstancelistlogic.go @@ -9,7 +9,6 @@ import ( "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc" "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types" "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models" - "time" ) type DeployInstanceListLogic struct { @@ -72,18 +71,6 @@ func (l *DeployInstanceListLogic) DeployInstanceList(req *types.DeployInstanceLi if len(list) != 0 { go status.UpdateDeployInstanceStatusBatch(l.svcCtx, list, true) - - ins := list[0] - for i := range list { - uTime, _ := time.Parse(time.RFC3339, ins.UpdateTime) - latest, _ := time.Parse(time.RFC3339, list[i].UpdateTime) - if latest.After(uTime) { - ins = list[i] - } - } - - go status.UpdateDeployInstanceStatus(l.svcCtx, ins, true, nil) - go status.UpdateDeployTaskStatus(l.svcCtx) } resp.List = &deployTasks diff --git a/internal/logic/inference/startdeployinstancelistlogic.go b/internal/logic/inference/startdeployinstancelistlogic.go index bcdb18a0..bfd789b9 100644 --- a/internal/logic/inference/startdeployinstancelistlogic.go +++ b/internal/logic/inference/startdeployinstancelistlogic.go @@ -45,7 +45,11 @@ func (l *StartDeployInstanceListLogic) StartDeployInstanceList(req *types.StartD } } - go status.UpdateDeployInstanceStatus(l.svcCtx, ins, true, nil) + ins.Status = "Updating" + err = l.svcCtx.Scheduler.AiStorages.UpdateInferDeployInstance(ins, true) + if err != nil { + return nil, err + } return resp, nil } diff --git a/internal/logic/inference/stopdeployinstancelogic.go b/internal/logic/inference/stopdeployinstancelogic.go index 3255a7dc..e951ddb4 100644 --- a/internal/logic/inference/stopdeployinstancelogic.go +++ b/internal/logic/inference/stopdeployinstancelogic.go @@ -45,7 +45,11 @@ func (l *StopDeployInstanceLogic) StopDeployInstance(req *types.StopDeployInstan } } - go status.UpdateDeployInstanceStatus(l.svcCtx, ins, true, nil) + ins.Status = "Updating" + err = l.svcCtx.Scheduler.AiStorages.UpdateInferDeployInstance(ins, true) + if err != nil { + return nil, err + } return resp, nil } diff --git a/internal/scheduler/database/aiStorage.go b/internal/scheduler/database/aiStorage.go index 74b5b0bc..983f760b 100644 --- a/internal/scheduler/database/aiStorage.go +++ b/internal/scheduler/database/aiStorage.go @@ -483,6 +483,17 @@ func (s *AiStorage) UpdateDeployTaskById(id int64) error { if err != nil { return err } + list, err := s.GetInstanceListByDeployTaskId(id) + if err != nil { + return err + } + for _, instance := range list { + instance.Status = "Updating" + err := s.UpdateInferDeployInstance(instance, true) + if err != nil { + return err + } + } return nil }