def METHOD_NAME(
    self,
    command: str,
    k8s_config: Union[K8sExecutorConfig, Dict] = None,
):
    if not self.job_exists():
        if type(k8s_config) is dict:
            k8s_config = K8sExecutorConfig.load(config=k8s_config)
        job = self.create_job_object(
            command,
            k8s_config=k8s_config,
        )
        self.create_job(job)
    api_response = None
    job_completed = False
    while not job_completed:
        api_response = self.batch_api_client.read_namespaced_job_status(
            name=self.job_name,
            namespace=self.namespace
        )
        if api_response.status.succeeded is not None or \
                api_response.status.failed is not None:
            job_completed = True
        time.sleep(5)
        # self._print(f'Job {self.job_name} status={api_response.status}')
    self.delete_job()
    self._print(f'Job {self.job_name} status={api_response.status}')
    if api_response.status.succeeded is None:
        raise Exception(f'Failed to execute k8s job {self.job_name}')