class_docstr: A worker manager which spawns a new thread for each worker. 
docstr: Checks if worker with worker_id is free. 
docstr_tok: ["Checks","if","worker","with","worker_id","is","free","."]
code: def _worker_is_free(self, worker_id):
      """Checks if worker with worker_id is free."""
      if worker_id in self.free_workers:
          return True
      worker_result_file_name = self._get_result_file_name_for_worker(
          worker_id
      )
      if os.path.exists(worker_result_file_name):
          self._read_result_from_worker_and_update(worker_id)
      else:
          return False
  
imports: from __future__ import print_function
  from __future__ import division
  from argparse import Namespace
  from multiprocessing import Process
  import numpy
  import os
  import pickle
  import shutil
  import time
  from .exd_utils import EVAL_ERROR_CODE
label_desc: Use image node_id 9 for calling the MultiProcessingWorkerManager obj's underlying member method code with example usage: obj._worker_is_free(worker_id) and returns: True, False