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: A worker has finished its job. Log this event and then asynchronously transfer control back to the worker.
  
  Callback used by workers to notify when their job is done.
  
  The job done event is logged and then control is asynchronously transfered back to the worker
  (who can then request another job). In this way, control flow basically oscillates between
  :meth:`gensim.models.lda_dispatcher.Dispatcher.jobdone` and :meth:`gensim.models.lda_worker.Worker.requestjob`.
  
  Parameters
  ----------
  workerid : int
      The ID of the worker that finished the job (used for logging).
docstr_tok: ["A","worker","has","finished","its","job",".","Log","this","event","and","then","asynchronously","transfer","control","back","to","the","worker",".","Callback","used","by","workers","to","notify","when","their","job","is","done",".","The","job","done","event","is","logged","and","then","control","is","asynchronously","transfered","back","to","the","worker","(","who","can","then","request","another","job",")",".","In","this","way",",","control","flow","basically","oscillates","between",":","meth",":","`","gensim.models.lda_dispatcher.Dispatcher.jobdone","`","and",":","meth",":","`","gensim.models.lda_worker.Worker.requestjob","`",".","Parameters","--","--","--","--","--","workerid",":","int","The","ID","of","the","worker","that","finished","the","job","(","used","for","logging",")","."]
code: def jobdone(self, workerid):
      """A worker has finished its job. Log this event and then asynchronously transfer control back to the worker.
  
      Callback used by workers to notify when their job is done.
  
      The job done event is logged and then control is asynchronously transfered back to the worker
      (who can then request another job). In this way, control flow basically oscillates between
      :meth:`gensim.models.lda_dispatcher.Dispatcher.jobdone` and :meth:`gensim.models.lda_worker.Worker.requestjob`.
  
      Parameters
      ----------
      workerid : int
          The ID of the worker that finished the job (used for logging).
  
      """
      self._jobsdone += 1
      logger.info(
          "worker #%s finished job #%i", workerid, self._jobsdone
      )
      self.workers[workerid].requestjob()
  
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 8 for calling the Dispatcher obj's underlying member method code with example usage: obj.jobdone(workerid) without return types