Bug fix for running multiple different benchmarks. Loop did not exit upon being able to take an offer.
This commit is contained in:
parent
3679510909
commit
8ddfe8e585
1 changed files with 9 additions and 2 deletions
11
scheduler.go
11
scheduler.go
|
@ -128,8 +128,10 @@ func (s *electronScheduler) ResourceOffers(driver sched.SchedulerDriver, offers
|
|||
for _, offer := range offers {
|
||||
select {
|
||||
case <-s.shutdown:
|
||||
log.Println("Shutting down: declining offer on [", offer.Hostname, "]")
|
||||
log.Println("Shutting down: declining offer on [", offer.GetHostname(), "]")
|
||||
driver.DeclineOffer(offer.Id, defaultFilter)
|
||||
|
||||
log.Println("Number of tasks running: ", s.tasksRunning)
|
||||
if s.tasksRunning == 0 {
|
||||
close(s.done)
|
||||
}
|
||||
|
@ -149,16 +151,21 @@ func (s *electronScheduler) ResourceOffers(driver sched.SchedulerDriver, offers
|
|||
tasks = append(tasks, s.newTask(offer, task))
|
||||
driver.LaunchTasks([]*mesos.OfferID{offer.Id}, tasks, defaultFilter)
|
||||
|
||||
taken = true
|
||||
|
||||
fmt.Println("Inst: ", *task.Instances)
|
||||
*task.Instances--
|
||||
|
||||
if *task.Instances <= 0 {
|
||||
fmt.Println("Tasks left: ", len(s.tasks)-1)
|
||||
fmt.Println("Position: ", i)
|
||||
// All instances of task have been scheduled
|
||||
s.tasks[i] = s.tasks[len(s.tasks)-1]
|
||||
s.tasks = s.tasks[:len(s.tasks)-1]
|
||||
taken = true
|
||||
}
|
||||
|
||||
break
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue