From a195e7b543f29c32dbc81ef1ff5b3c3c85a110fd Mon Sep 17 00:00:00 2001 From: Newnius Date: Thu, 28 May 2020 10:59:20 +0800 Subject: [PATCH] update fair --- src/job_manager.go | 8 +++++--- src/scheduler_fair.go | 7 ++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/job_manager.go b/src/job_manager.go index 5238694..5e65d75 100644 --- a/src/job_manager.go +++ b/src/job_manager.go @@ -197,9 +197,11 @@ func (jm *JobManager) checkStatus(status []TaskStatus) { jm.scheduler.UpdateProgress(jm.job, Failed) } - jm.scheduler.ReleaseResource(jm.job, jm.resources[i]) - log.Info("return resource ", jm.resources[i].ClientID) - jm.resources[i].ClientID = "_released_" + if jm.resources[i].ClientID != "_released_" { + jm.scheduler.ReleaseResource(jm.job, jm.resources[i]) + log.Info("return resource ", jm.resources[i].ClientID) + jm.resources[i].ClientID = "_released_" + } for _, t := range jm.resources[i].Status { InstanceOfResourcePool().detach(t.UUID, jm.job) diff --git a/src/scheduler_fair.go b/src/scheduler_fair.go index 942ee75..ce212c4 100644 --- a/src/scheduler_fair.go +++ b/src/scheduler_fair.go @@ -277,6 +277,9 @@ func (scheduler *SchedulerFair) AcquireResource(job Job) []NodeStatus { }(res) } + go func() { + scheduler.UpdateQuota() + }() return res } @@ -296,7 +299,9 @@ func (scheduler *SchedulerFair) ReleaseResource(job Job, agent NodeStatus) { } scheduler.resourceAllocationsMu.Unlock() }(agent) - scheduler.UpdateQuota() + go func() { + scheduler.UpdateQuota() + }() } /* allocate quota to queues */