From b115c96b599a34110ad7644be6a993d7da55b47f Mon Sep 17 00:00:00 2001 From: Newnius Date: Mon, 4 May 2020 00:02:45 +0800 Subject: [PATCH] update --- src/scheduler_fair.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/scheduler_fair.go b/src/scheduler_fair.go index 009a7b1..31e5ec6 100644 --- a/src/scheduler_fair.go +++ b/src/scheduler_fair.go @@ -333,7 +333,10 @@ func (scheduler *SchedulerFair) Schedule(job Job) { func (scheduler *SchedulerFair) AcquireResource(job Job, task Task, nodes []NodeStatus) NodeStatus { segID := rand.Intn(pool.poolsCount) res := NodeStatus{} - start := pool.pools[segID].Next + start := &pool.pools[segID] + if start.Nodes == nil { + start = start.Next + } locks := map[int]sync.Mutex{} @@ -386,7 +389,7 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task, nodes []Node break } cur = cur.Next - if cur == start { + if cur.ID == start.ID { break } } @@ -421,7 +424,7 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task, nodes []Node break } cur = cur.Next - if cur == start { + if cur.ID == start.ID { break } } @@ -706,7 +709,7 @@ func (scheduler *SchedulerFair) Summary() MsgSummary { } cur.Lock.Unlock() cur = cur.Next - if cur == start { + if cur.ID == start.ID { break } }