code: def start_worker(node_ip_address,
                   object_store_name,
                   raylet_name,
                   redis_address,
                   worker_path,
                   temp_dir,
                   stdout_file=None,
                   stderr_file=None):
      
      command = [
          sys.executable, "-u", worker_path,
          "--node-ip-address=" + node_ip_address,
          "--object-store-name=" + object_store_name,
          "--raylet-name=" + raylet_name,
          "--redis-address=" + str(redis_address), "--temp-dir=" + temp_dir
      ]
      process_info = start_ray_process(
          command,
          ray_constants.PROCESS_TYPE_WORKER,
          stdout_file=stdout_file,
          stderr_file=stderr_file)
      return process_info
docs: This method starts a worker process.
  
      Args:
          node_ip_address (str): The IP address of the node that this worker is
              running on.
          object_store_name (str): The socket name of the object store.
          raylet_name (str): The socket name of the raylet server.
          redis_address (str): The address that the Redis server is listening on.
          worker_path (str): The path of the source code which the worker process
              will run.
          temp_dir (str): The path of the temp dir.
          stdout_file: A file handle opened for writing to redirect stdout to. If
              no redirection should happen, then this should be None.
          stderr_file: A file handle opened for writing to redirect stderr to. If
              no redirection should happen, then this should be None.
  
      Returns:
          ProcessInfo for the process that was started.