Ejemplo n.º 1
0
def test_terminate_in_asynchronous_mode_returns_before_transform_job_termination_completes(
        pretrained_model, sagemaker_client):
    transform_job_termination_latency = 10
    get_sagemaker_backend(
        sagemaker_client.meta.region_name).set_transform_job_update_latency(
            transform_job_termination_latency)

    job_name = "test-job"
    termination_start_time = time.time()
    mfs.deploy_transform_job(
        job_name=job_name,
        model_uri=pretrained_model.model_uri,
        s3_input_data_type="Some Data Type",
        s3_input_uri="Some Input Uri",
        content_type="Some Content Type",
        s3_output_path="Some Output Path",
        archive=True,
        synchronous=False,
    )

    mfs.terminate_transform_job(job_name=job_name,
                                archive=True,
                                synchronous=False)
    termination_end_time = time.time()

    assert (termination_end_time -
            termination_start_time) < transform_job_termination_latency
    transform_job_description = sagemaker_client.describe_transform_job(
        TransformJobName=job_name)
    assert transform_job_description[
        "TransformJobStatus"] == TransformJob.STATUS_STOPPING
Ejemplo n.º 2
0
def test_attempting_to_terminate_in_asynchronous_mode_without_archiving_throws_exception(
    pretrained_model, ):
    job_name = "test-job"
    mfs.deploy_transform_job(
        job_name=job_name,
        model_uri=pretrained_model.model_uri,
        s3_input_data_type="Some Data Type",
        s3_input_uri="Some Input Uri",
        content_type="Some Content Type",
        s3_output_path="Some Output Path",
    )

    with pytest.raises(MlflowException) as exc:
        mfs.terminate_transform_job(
            job_name=job_name,
            archive=False,
            synchronous=False,
        )

    assert "Resources must be archived" in exc.value.message
    assert exc.value.error_code == ErrorCode.Name(INVALID_PARAMETER_VALUE)