code: def main(self):
          
          try:
              # Start the daemon mode
              if not self.do_daemon_init_and_start():
                  self.exit_on_error(message="Daemon initialization error", exit_code=3)
  
              self.do_post_daemon_init()
  
              # We wait for initial conf
              self.wait_for_initial_conf()
              if self.new_conf:
                  # Setup the received configuration
                  self.setup_new_conf()
  
                  # Allocate Mortal Threads
                  self.adjust_worker_number_by_load()
  
                  # Now main loop
                  self.do_main_loop()
                  logger.info("Exited from the main loop.")
  
              self.request_stop()
          except Exception:  # pragma: no cover, this should never happen indeed ;)
              self.exit_on_exception(traceback.format_exc())
              raise
docs: Main satellite function. Do init and then mainloop
  
          :return: None