class_docstr: A Kubernetes job runner that launches and executes pipeline components in kubernetes cluster.
docstr: Create a job and wait for the pod to be runnable.
docstr_tok: ["Create","a","job","and","wait","for","the","pod","to","be","runnable","."]
code: def _create_job(self, execution_info, executable_spec) -> None:
      """Create a job and wait for the pod to be runnable."""
  
      assert (
          not self._pod_name
      ), "You cannot start a job multiple times."
      serialized_execution_info = (
          python_execution_binary_utils.serialize_execution_info(
              execution_info
          )
      )
      serialized_executable_spec = (
          python_execution_binary_utils.serialize_executable_spec(
              executable_spec
          )
      )
  
      run_arguments = [
          "--tfx_execution_info_b64",
          serialized_execution_info,
          "--tfx_python_class_executable_spec_b64",
          serialized_executable_spec,
      ]
      orchestrator_commands = _COMMAND + run_arguments
  
      batch_api = kube_utils.make_batch_v1_api()
      job = kube_utils.make_job_object(
          name=self._job_name,
          container_image=self._image,
          command=orchestrator_commands,
          container_name=self._container_name,
          pod_labels={
              "job-name": self._job_name,
          },
          ttl_seconds_after_finished=self.ttl_seconds,
      )
      batch_api.create_namespaced_job(self._namespace, job, pretty=True)
      logging.info("Job %s created!", self._job_name)
  
imports: import abc
  import datetime
  import random
  import string
  import time
  from absl import logging
  from kubernetes import client
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.orchestration.python_execution_binary import python_execution_binary_utils
  from tfx.utils import kube_utils
  from tfx.utils import status
label_desc: Use image node_id 3 for calling the KubernetesJobRunner obj's underlying member method code with example usage: obj._create_job(execution_info, executable_spec) without return types