From de5d7ec1f1d7b12202cf96a081e0d858834ec220 Mon Sep 17 00:00:00 2001 From: tzwang Date: Tue, 21 May 2024 11:00:29 +0800 Subject: [PATCH] fix strategy bugs Former-commit-id: 1a10655de7ace36f0888008c23b50edb9d89af7c --- api/internal/logic/core/pagelisttasklogic.go | 4 ++-- api/internal/scheduler/schedulers/aiScheduler.go | 3 +++ api/internal/scheduler/strategy/dynamicResources.go | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/api/internal/logic/core/pagelisttasklogic.go b/api/internal/logic/core/pagelisttasklogic.go index 45a826f8..d680bb09 100644 --- a/api/internal/logic/core/pagelisttasklogic.go +++ b/api/internal/logic/core/pagelisttasklogic.go @@ -101,8 +101,8 @@ func (l *PageListTaskLogic) updateTaskStatus(tasklist []*types.TaskModel, ch cha task := list[0] for i := range list { - earliest, _ := time.Parse(constants.Layout_temp, task.UpdatedTime) - latest, _ := time.Parse(constants.Layout_temp, list[i].UpdatedTime) + earliest, _ := time.Parse(time.RFC3339, task.UpdatedTime) + latest, _ := time.Parse(time.RFC3339, list[i].UpdatedTime) if latest.Before(earliest) { task = list[i] } diff --git a/api/internal/scheduler/schedulers/aiScheduler.go b/api/internal/scheduler/schedulers/aiScheduler.go index 7d88ed5e..2a177b2b 100644 --- a/api/internal/scheduler/schedulers/aiScheduler.go +++ b/api/internal/scheduler/schedulers/aiScheduler.go @@ -113,6 +113,9 @@ func (as *AiScheduler) PickOptimalStrategy() (strategy.Strategy, error) { case strategy.REPLICATION: var clusterIds []string for _, resource := range resources { + if resource == nil { + continue + } clusterIds = append(clusterIds, resource.ClusterId) } strategy := strategy.NewReplicationStrategy(clusterIds, 1) diff --git a/api/internal/scheduler/strategy/dynamicResources.go b/api/internal/scheduler/strategy/dynamicResources.go index 12a2172d..913ea0b8 100644 --- a/api/internal/scheduler/strategy/dynamicResources.go +++ b/api/internal/scheduler/strategy/dynamicResources.go @@ -31,6 +31,11 @@ func (ps *DynamicResourcesStrategy) Schedule() ([]*AssignedCluster, error) { var assignedCluster AssignedCluster var results []*AssignedCluster for _, res := range ps.resources { + + if res == nil { + continue + } + if opt.ResourceType == "cpu" { if res.CpuCoreHours <= 0 { cluster := &AssignedCluster{ClusterId: res.ClusterId, Replicas: ps.replicas}