class_docstr: Kubeflow Pipelines runner.
  
  Constructs a pipeline definition YAML file based on the TFX logical pipeline.
class_docstr_tok: ["Kubeflow","Pipelines","runner",".","Constructs","a","pipeline","definition","YAML","file","based","on","the","TFX","logical","pipeline","."]
docstr: Set exit handler components for the Kubeflow dag runner.
  
  This feature is currently experimental without backward compatibility
  gaurantee.
  
  Args:
    exit_handler: exit handler component.
docstr_tok: ["Set","exit","handler","components","for","the","Kubeflow","dag","runner",".","This","feature","is","currently","experimental","without","backward","compatibility","gaurantee",".","Args",":","exit_handler",":","exit","handler","component","."]
code: def set_exit_handler(self, exit_handler: base_node.BaseNode):
      """Set exit handler components for the Kubeflow dag runner.
  
      This feature is currently experimental without backward compatibility
      gaurantee.
  
      Args:
        exit_handler: exit handler component.
      """
      if not exit_handler:
          logging.error("Setting empty exit handler is not allowed.")
          return
      assert not exit_handler.downstream_nodes, (
          "Exit handler should not depend " "on any other node."
      )
      assert not exit_handler.upstream_nodes, (
          "Exit handler should not depend on" " any other node."
      )
      self._exit_handler = exit_handler
  
imports: import collections
  import copy
  import os
  from typing import Any, Callable, Dict, List, Optional, Type, cast, MutableMapping
  from absl import logging
  from kfp import compiler
  from kfp import dsl
  from kfp import gcp
  from kubernetes import client
  from tfx import version
  from tfx.dsl.compiler import compiler
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_node
  from tfx.orchestration import data_types
  from tfx.orchestration import pipeline
  from tfx.orchestration import tfx_runner
  from tfx.orchestration.config import pipeline_config
  from tfx.orchestration.kubeflow import base_component
  from tfx.orchestration.kubeflow import utils
  from tfx.orchestration.kubeflow.proto import kubeflow_pb2
  from tfx.orchestration.launcher import base_component_launcher
  from tfx.orchestration.launcher import in_process_component_launcher
  from tfx.orchestration.launcher import kubernetes_component_launcher
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import telemetry_utils
label_desc: Use image node_id 9 for calling the KubeflowDagRunner obj's underlying member method code with example usage: obj.set_exit_handler(exit_handler) without return types