class_docstr: 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