code: def _get_function_id(self):
          
          if self.is_for_driver_task:
              return ray.FunctionID.nil()
          function_id_hash = hashlib.sha1()
          # Include the function module and name in the hash.
          function_id_hash.update(self.module_name.encode("ascii"))
          function_id_hash.update(self.function_name.encode("ascii"))
          function_id_hash.update(self.class_name.encode("ascii"))
          function_id_hash.update(self._function_source_hash)
          # Compute the function ID.
          function_id = function_id_hash.digest()
          return ray.FunctionID(function_id)
docs: Calculate the function id of current function descriptor.
  
          This function id is calculated from all the fields of function
          descriptor.
  
          Returns:
              ray.ObjectID to represent the function descriptor.