code: def do_before_loop(self):
          
          logger.info("I am the arbiter: %s", self.link_to_myself.name)
  
          # If I am a spare, I do not have anything to do here...
          if not self.is_master:
              logger.debug("Waiting for my master death...")
              return
  
          # Arbiter check if some daemons need to be started
          if not self.daemons_start(run_daemons=True):
              self.request_stop(message="Some Alignak daemons did not started correctly.",
                                exit_code=4)
  
          if not self.daemons_check():
              self.request_stop(message="Some Alignak daemons cannot be checked.",
                                exit_code=4)
  
          # Make a pause to let our started daemons get ready...
          pause = max(1, max(self.conf.daemons_start_timeout, len(self.my_daemons) * 0.5))
          if pause:
              logger.info("Pausing %.2f seconds...", pause)
              time.sleep(pause)
  
          # Prepare and dispatch the monitored configuration
          self.configuration_dispatch()
  
          # Now we can get all initial broks for our satellites
          _t0 = time.time()
          self.get_initial_broks_from_satellites()
          statsmgr.timer('broks.get-initial', time.time() - _t0)
  
          # Now create the external commands manager
          # We are a dispatcher: our role is to dispatch commands to the schedulers
          self.external_commands_manager = ExternalCommandManager(
              self.conf, 'dispatcher', self, self.conf.accept_passive_unknown_check_results,
              self.conf.log_external_commands)
docs: Called before the main daemon loop.
  
          :return: None