class_docstr: The dispatcher is responsible for assigning tasks to free workers, report results back to the master and
  communicate to the nameserver.
class_docstr_tok: ["The","dispatcher","is","responsible","for","assigning","tasks","to","free","workers",",","report","results","back","to","the","master","and","communicate","to","the","nameserver","."]
code: def number_of_workers(self):
      with self.discover_cond:
          return len(self.worker_pool)
  
imports: import threading
  import logging
  import queue
  import time
  import Pyro4
label_desc: Use image node_id 7 for calling the Dispatcher obj's underlying member method code with example usage: obj.number_of_workers() and returns: len