class_docstr: Convenient class for launching a Hyperopt cluster in a `RuntimeGroup`.
  
  HyperoptCluster inherits from MasterWorkerCluster. See its documentation to get a list of the inherited methods
  and attributes.
  
  The number of hyperopt workers defaults to the number of `Runtimes` in the used `RuntimeGroup`. This number can be
  adjusted so that more or less workers than available `Runtimes` can be used. Per default the desired number of
  workers is started in a round robin way as implemented in `RoundRobinLauncher`. Consequently, this leads to an
  equal distribution of hyperopt workers in the `RuntimeGroup`. You can provide a custom implementation inheriting
  from the `WorkerLauncher` class in order to execute a different strategy how workers should be started. The
  master instance (i.e. the mongoDB) will always be started on localhost as implemented in `LocalMasterLauncher`. This
  behavior can also be changed by providing a custom implementation inheriting from the `MasterLauncher`.
docstr: The MongoDB url indicating what mongod process and which database to use.
  
  Note:
      The format is `mongo://host:port/dbname`.
  
  Returns:
      str: URL string.
docstr_tok: ["The","MongoDB","url","indicating","what","mongod","process","and","which","database","to","use",".","Note",":","The","format","is","`","mongo",":","\/\/host",":","port\/dbname","`",".","Returns",":","str",":","URL","string","."]
code: def mongo_url(self) -> str:
      """The MongoDB url indicating what mongod process and which database to use.
  
      Note:
          The format is `mongo://host:port/dbname`.
  
      Returns:
          str: URL string.
      """
      if not self.master_port:
          self.log.warning(
              "HyperoptCluster.mongo_trial_url was requested although the master_port is not yet set."
          )
  
      return f"mongo://localhost:{self.master_port}/{self.dbname}"
  
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 3 for calling the HyperoptCluster obj's underlying member method code with example usage: obj.mongo_url() and returns: str, self, str, self