class_docstr: Watches for Kubernetes jobs.
class_docstr_tok: ["Watches","for","Kubernetes","jobs","."]
code: def __init__(
      self,
      namespace: str,
      watcher_queue: Queue[KubernetesWatchType],
      resource_version: str | None,
      scheduler_job_id: str,
      kube_config: Configuration,
  ):
      super().__init__()
      self.namespace = namespace
      self.scheduler_job_id = scheduler_job_id
      self.watcher_queue = watcher_queue
      self.resource_version = resource_version
      self.kube_config = kube_config
  
imports: from __future__ import annotations
  import contextlib
  import json
  import multiprocessing
  import time
  from queue import Empty, Queue
  from typing import TYPE_CHECKING, Any, Generic, TypeVar
  from kubernetes import client, watch
  from kubernetes.client.rest import ApiException
  from urllib3.exceptions import ReadTimeoutError
  from airflow.exceptions import AirflowException
  from airflow.providers.cncf.kubernetes.kube_client import get_kube_client
  from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import annotations_for_logging_task_metadata, annotations_to_key, create_pod_id
  from airflow.providers.cncf.kubernetes.pod_generator import PodGenerator
  from airflow.utils.log.logging_mixin import LoggingMixin
  from airflow.utils.state import TaskInstanceState
label_desc: Use image node_id 1 to create a new KubernetesJobWatcher object from inherited base classes: multiprocessing, LoggingMixin with example: obj = KubernetesJobWatcher(namespace, watcher_queue, resource_version, scheduler_job_id, kube_config)