code: def consume_keys_asynchronous_processes(self):
          
          print("\nLooking up " + self.input_queue.qsize().__str__() + " keys from " + self.source_name + "\n")
          jobs = multiprocessing.cpu_count()*4 if (multiprocessing.cpu_count()*4 < self.input_queue.qsize()) \
              else self.input_queue.qsize()
  
          pool = multiprocessing.Pool(processes=jobs,  maxtasksperchild=10)
          for x in range(jobs):
              pool.apply(self.data_worker, [], self.worker_args)
  
          pool.close()
          pool.join()
docs: Work through the keys to look up asynchronously using multiple processes