SelectWorkload.go 782 B

1234567891011121314151617181920212223
  1. package solver
  2. import (
  3. "log"
  4. "os"
  5. "strconv"
  6. "time"
  7. )
  8. // Renders workload for an agent.
  9. // Checks if this feature can be used, otherwise exits.
  10. // Modify solver.row1s so it limits the workload to what is only desired
  11. func (solver *Solver) SelectWorkload() {
  12. if solver.Controller.Split > len(solver.row1s) {
  13. log.Println("ERROR: Unable to divide the workload in " + strconv.Itoa(solver.Controller.Split) + " parts, when only " + strconv.Itoa(len(solver.row1s)) + " are available.\n\n")
  14. os.Exit(1)
  15. }
  16. defer solver.timeTrack(time.Now(), "Workload set")
  17. log.Println("Setting workload")
  18. log.Println("We are agent " + strconv.Itoa(solver.Controller.Part) + " of " + strconv.Itoa(solver.Controller.Split))
  19. workloads := solver.splitWorkload()
  20. solver.setWorkload(workloads)
  21. }