mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 14:21:55 +00:00
update
This commit is contained in:
parent
6eca76eed7
commit
da33e1bffd
@ -131,6 +131,10 @@ func (pool *ResourcePool) init(conf Configuration) {
|
||||
continue
|
||||
}
|
||||
pool.batchMu.Lock()
|
||||
|
||||
var nodes []NodeStatus
|
||||
var left []Job
|
||||
for {
|
||||
var tasks []Task
|
||||
for _, job := range pool.batchJobs {
|
||||
for _, task := range job.Tasks {
|
||||
@ -138,20 +142,24 @@ func (pool *ResourcePool) init(conf Configuration) {
|
||||
tasks = append(tasks, task)
|
||||
}
|
||||
}
|
||||
if len(tasks) != 0 {
|
||||
job := Job{Tasks: tasks}
|
||||
|
||||
nodes := pool.doAcquireResource(job)
|
||||
if len(tasks) == 0 {
|
||||
break
|
||||
}
|
||||
nodes = pool.doAcquireResource(job)
|
||||
if len(nodes) == 0 {
|
||||
left = append(left, pool.batchJobs[0])
|
||||
pool.batchJobs = pool.batchJobs[1:]
|
||||
continue
|
||||
}
|
||||
for i, task := range job.Tasks {
|
||||
if _, ok := pool.batchAllocations[task.Job]; !ok {
|
||||
pool.batchAllocations[task.Job] = []NodeStatus{}
|
||||
}
|
||||
pool.batchAllocations[task.Job] = append(pool.batchAllocations[task.Job], nodes[i])
|
||||
}
|
||||
if len(nodes) > 0 {
|
||||
pool.batchJobs = []Job{}
|
||||
}
|
||||
}
|
||||
pool.batchJobs = left
|
||||
pool.batchMu.Unlock()
|
||||
}
|
||||
}()
|
||||
|
Loading…
Reference in New Issue
Block a user