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
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)