class_docstr: A Base class for people to create
  [customized managers](https://docs.python.org/3.6/library/multiprocessing.html#customized-managers).
  Equivalent to multiprocessing.managers.BaseManager but can work on a
  computer cluster.
  
  The API of this class is the same as
  [multiprocessing.managers.BaseManager](https://docs.python.org/3.6/library/multiprocessing.html#multiprocessing.managers.BaseManager)
class_docstr_tok: ["A","Base","class","for","people","to","create","[","customized","managers","]","(","https",":","\/\/docs.python.org\/3.6\/library\/multiprocessing.html","#","customized-managers",")",".","Equivalent","to","multiprocessing.managers.BaseManager","but","can","work","on","a","computer","cluster",".","The","API","of","this","class","is","the","same","as","[","multiprocessing.managers.BaseManager","]","(","https",":","\/\/docs.python.org\/3.6\/library\/multiprocessing.html","#","multiprocessing.managers.BaseManager",")"]
docstr: Spawn a server process for this manager object.
docstr_tok: ["Spawn","a","server","process","for","this","manager","object","."]
code: def start(self, initializer=None, initargs=()):
      """Spawn a server process for this manager object."""
      assert self._state.value == State.INITIAL
      logger.debug("start manager %s", self)
  
      if initializer is not None and not callable(initializer):
          raise TypeError("initializer must be a callable")
  
      # pipe over which we will retrieve address of server
      reader, writer = fiber.queues.Pipe(duplex=False)
  
      # spawn process which runs a server
      self._process = fiber.Process(
          target=type(self)._run_server,
          args=(
              self._registry,
              self._address,
              self._authkey,
              self._serializer,
              writer,
              initializer,
              initargs,
          ),
      )
      ident = ":".join(str(i) for i in self._process._identity)
      self._process.name = type(self).__name__ + "-" + ident
      self._process.start()
  
      # get address of server
      writer.close()
      self._address = reader.recv()
      reader.close()
  
      # register a finalizer
      self._state.value = State.STARTED
      self.shutdown = mp_util.Finalize(
          self,
          type(self)._finalize_manager,
          args=(
              self._process,
              self._address,
              self._authkey,
              self._state,
              self._Client,
          ),
          exitpriority=0,
      )
  
imports: import logging
  import multiprocessing
  import multiprocessing.util
  import queue
  import threading
  from multiprocessing.connection import SocketListener, _validate_family, address_type
  from multiprocessing.context import get_spawning_popen
  from multiprocessing.managers import Array, DictProxy, ListProxy, Namespace, RebuildProxy, State, Value, dispatch
  from multiprocessing.process import AuthenticationString
  import fiber.util
  import fiber.queues
  from fiber import process
  from fiber.backend import get_backend
label_desc: Use image node_id 4 for calling the BaseManager obj's underlying member method code with example usage: obj.start(initializer, initargs) without return types