class_docstr: Dispatcher object that communicates and coordinates individual workers.
  
  Warnings
  --------
  There should never be more than one dispatcher running at any one time.
docstr: Fully initialize the dispatcher and all its workers.
  
  Parameters
  ----------
  **model_params
      Keyword parameters used to initialize individual workers, see :class:`~gensim.models.ldamodel.LdaModel`.
  
  Raises
  ------
  RuntimeError
      When no workers are found (the :mod:`gensim.models.lda_worker` script must be ran beforehand).
docstr_tok: ["Fully","initialize","the","dispatcher","and","all","its","workers",".","Parameters","--","--","--","--","--","*","*","model_params","Keyword","parameters","used","to","initialize","individual","workers",",","see",":","class",":","`","~gensim.models.ldamodel.LdaModel","`",".","Raises","--","--","--","RuntimeError","When","no","workers","are","found","(","the",":","mod",":","`","gensim.models.lda_worker","`","script","must","be","ran","beforehand",")","."]
code: def initialize(self, **model_params):
      """Fully initialize the dispatcher and all its workers.
  
      Parameters
      ----------
      **model_params
          Keyword parameters used to initialize individual workers, see :class:`~gensim.models.ldamodel.LdaModel`.
  
      Raises
      ------
      RuntimeError
          When no workers are found (the :mod:`gensim.models.lda_worker` script must be ran beforehand).
  
      """
      self.jobs = Queue(maxsize=self.maxsize)
      self.lock_update = threading.Lock()
      self._jobsdone = 0
      self._jobsreceived = 0
  
      self.workers = {}
      with utils.getNS(**self.ns_conf) as ns:
          self.callback = Pyro4.Proxy(
              ns.list(prefix=LDA_DISPATCHER_PREFIX)[
                  LDA_DISPATCHER_PREFIX
              ]
          )
          for name, uri in ns.list(prefix=LDA_WORKER_PREFIX).items():
              try:
                  worker = Pyro4.Proxy(uri)
                  workerid = len(self.workers)
                  # make time consuming methods work asynchronously
                  logger.info(
                      "registering worker #%i at %s", workerid, uri
                  )
                  worker.initialize(
                      workerid, dispatcher=self.callback, **model_params
                  )
                  self.workers[workerid] = worker
              except Pyro4.errors.PyroError:
                  logger.warning(
                      "unresponsive worker at %s,deleting it from the name server",
                      uri,
                  )
                  ns.remove(name)
  
      if not self.workers:
          raise RuntimeError(
              "no workers found; run some lda_worker scripts on your machines first!"
          )
  
imports: import argparse
  import os
  import sys
  import logging
  import threading
  import time
  from queue import Queue
  import Pyro4
  from gensim import utils
  from gensim.models.lda_worker import LDA_WORKER_PREFIX
label_desc: Use image node_id 2 for calling the Dispatcher obj's underlying member method code with example usage: obj.initialize() without return types