class_docstr: Concrete WorkerLauncher implementation for launching hyperopt workers in a round robin manner.
  
  See the `WorkerLauncher` documentation to get a list of the inherited methods and attributes.
docstr: Launches the worker instances in the `RuntimeGroup`.
  
  Args:
      worker_count: The number of worker instances to be started in the group.
      master_port:  The port of the master instance.
      ports: Without use here. Only here because we need to adhere to the interface defined by the
             WorkerLauncher class.
      debug: If `True`, stdout/stderr from the runtime will be printed to stdout of localhost. If, `False` then
             the stdout/stderr will be added to python logger with level debug after each `RuntimeTask` step. Defaults to
             `False`.
  
  Returns:
      List[int]: The updated port list after starting the workers, i.e. the used ones were removed.
docstr_tok: ["Launches","the","worker","instances","in","the","`","RuntimeGroup","`",".","Args",":","worker_count",":","The","number","of","worker","instances","to","be","started","in","the","group",".","master_port",":","The","port","of","the","master","instance",".","ports",":","Without","use","here",".","Only","here","because","we","need","to","adhere","to","the","interface","defined","by","the","WorkerLauncher","class",".","debug",":","If","`","True","`",",","stdout\/stderr","from","the","runtime","will","be","printed","to","stdout","of","localhost",".","If",",","`","False","`","then","the","stdout\/stderr","will","be","added","to","python","logger","with","level","debug","after","each","`","RuntimeTask","`","step",".","Defaults","to","`","False","`",".","Returns",":","List","[","int","]",":","The","updated","port","list","after","starting","the","workers",",","i.e",".","the","used","ones","were","removed","."]
code: def start(
      self,
      worker_count: int,
      master_port: int,
      ports: List[int] = None,
      debug: bool = True,
  ) -> List[int]:
      """Launches the worker instances in the `RuntimeGroup`.
  
      Args:
          worker_count: The number of worker instances to be started in the group.
          master_port:  The port of the master instance.
          ports: Without use here. Only here because we need to adhere to the interface defined by the
                 WorkerLauncher class.
          debug: If `True`, stdout/stderr from the runtime will be printed to stdout of localhost. If, `False` then
                 the stdout/stderr will be added to python logger with level debug after each `RuntimeTask` step. Defaults to
                 `False`.
  
      Returns:
          List[int]: The updated port list after starting the workers, i.e. the used ones were removed.
      """
      hosts = self._group.hosts
      runtimes = self._group.runtimes
  
      # Launch each desired worker one by one
      for worker_index in range(worker_count):
          # Determine the runtime where the next worker will be started in
          runtime_index = (
              self._group.runtime_count + worker_index
          ) % self._group.runtime_count
          # Get the actual host corresponding to the index
          host = hosts[runtime_index]
          # working_dir = runtimes[runtime_index].working_dir
          assert host == runtimes[runtime_index].host
  
          self.log.debug(
              f"Launch Hyperopt worker with index {worker_index} on Runtime {host}"
          )
  
          self._launch_single_worker(
              host, worker_index, master_port, debug
          )
  
      return ports if isinstance(ports, list) else []
  
imports: import os
  import time
  from typing import List, Optional, Union
  from lazycluster import Runtime, RuntimeGroup, RuntimeTask, _utils
  from lazycluster.cluster import MasterLauncher, MasterWorkerCluster, WorkerLauncher
  from lazycluster.cluster.exceptions import MasterStartError
  from lazycluster.exceptions import PortInUseError
  from lazycluster.utils import Environment
label_desc: Use image node_id 2 for calling the RoundRobinLauncher obj's underlying member method code with example usage: obj.start(worker_count, master_port, ports, debug) and returns: unknown