code: def cleanup(self):
      
      if self._root_pipeline_key is None:
        raise UnexpectedPipelineError(
            'Could not cleanup Pipeline with unknown root pipeline ID.')
      if not self.is_root:
        return
      task = taskqueue.Task(
          params=dict(root_pipeline_key=self._root_pipeline_key),
          url=self.base_path + '/cleanup',
          headers={'X-Ae-Pipeline-Key': self._root_pipeline_key})
      taskqueue.Queue(self.queue_name).add(task)
docs: Clean up this Pipeline and all Datastore records used for coordination.
  
      Only works when called on a root pipeline. Child pipelines will ignore
      calls to this method.
  
      After this method is called, Pipeline.from_id() and related status
      methods will return inconsistent or missing results. This method is
      fire-and-forget and asynchronous.