def stop_processing_job()

in custom_resource/sagemaker_suggest_baseline.py [0:0]


def stop_processing_job(processing_job_name):
    try:
        processing_job = sm.describe_processing_job(ProcessingJobName=processing_job_name)
        status = processing_job["ProcessingJobStatus"]
        if status == "InProgress":
            logger.info("Stopping InProgress processing job: %s", processing_job_name)
            sm.stop_processing_job(ProcessingJobName=processing_job_name)
            return False
        else:
            logger.info("Processing job status: %s, nothing to stop", status)
            return True
    except ClientError as e:
        # NOTE: This doesn't return "ResourceNotFound" code, so need to catch
        if (
            e.response["Error"]["Code"] == "ValidationException"
            and "Could not find" in e.response["Error"]["Message"]
        ):
            logger.info("Resource not found, nothing to stop")
            return True
        else:
            logger.error("Unexpected error while trying to stop processing job")
            raise e