ParseFlags.go 861 B

123456789101112131415161718192021222324252627282930313233343536
  1. package flags
  2. import "flag"
  3. func (flags *Flags) ParseFlags() (err error) {
  4. // Define parameters
  5. flag.StringVar(&flags.Vars.Role, "role", "scheduler", "Role of the instance ['scheduler','agent']")
  6. flag.StringVar(&flags.Vars.Address, "address", "127.0.0.1", "Address of the instance to listen to/connect to")
  7. flag.IntVar(&flags.Vars.Port, "port", 8080, "Port of the instance to listen on/connect to")
  8. flag.IntVar(&flags.Vars.NumCPUs, "numcpus", 1, "[agent] Number of CPUs to use")
  9. // Parse the flags
  10. flag.Parse()
  11. // Parse the role parameters
  12. err = flags.parseRole()
  13. if err != nil {
  14. return err
  15. }
  16. /// Parse the number of CPUs parameters
  17. err = flags.parseNumCPUs()
  18. if err != nil {
  19. return err
  20. }
  21. // Parse the address and port parameters
  22. err = flags.parseAddressPort()
  23. if err != nil {
  24. return err
  25. }
  26. // Return nil if no errors
  27. return
  28. }