|
16 | 16 | import os
|
17 | 17 | import pickle
|
18 | 18 | import sys
|
| 19 | +import time |
19 | 20 |
|
20 | 21 | import pytest
|
21 | 22 |
|
@@ -236,6 +237,45 @@ def test_transform_byo_estimator(sagemaker_session):
|
236 | 237 | assert tags == model_tags
|
237 | 238 |
|
238 | 239 |
|
| 240 | +def test_stop_transform_job(sagemaker_session, mxnet_full_version): |
| 241 | + data_path = os.path.join(DATA_DIR, 'mxnet_mnist') |
| 242 | + script_path = os.path.join(data_path, 'mnist.py') |
| 243 | + tags = [{'Key': 'some-tag', 'Value': 'value-for-tag'}] |
| 244 | + |
| 245 | + mx = MXNet(entry_point=script_path, role='SageMakerRole', train_instance_count=1, |
| 246 | + train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, |
| 247 | + framework_version=mxnet_full_version) |
| 248 | + |
| 249 | + train_input = mx.sagemaker_session.upload_data(path=os.path.join(data_path, 'train'), |
| 250 | + key_prefix='integ-test-data/mxnet_mnist/train') |
| 251 | + test_input = mx.sagemaker_session.upload_data(path=os.path.join(data_path, 'test'), |
| 252 | + key_prefix='integ-test-data/mxnet_mnist/test') |
| 253 | + job_name = unique_name_from_base('test-mxnet-transform') |
| 254 | + |
| 255 | + with timeout(minutes=TRAINING_DEFAULT_TIMEOUT_MINUTES): |
| 256 | + mx.fit({'train': train_input, 'test': test_input}, job_name=job_name) |
| 257 | + |
| 258 | + transform_input_path = os.path.join(data_path, 'transform', 'data.csv') |
| 259 | + transform_input_key_prefix = 'integ-test-data/mxnet_mnist/transform' |
| 260 | + transform_input = mx.sagemaker_session.upload_data(path=transform_input_path, |
| 261 | + key_prefix=transform_input_key_prefix) |
| 262 | + |
| 263 | + transformer = mx.transformer(1, 'ml.m4.xlarge', tags=tags) |
| 264 | + transformer.transform(transform_input, content_type='text/csv') |
| 265 | + |
| 266 | + time.sleep(15) |
| 267 | + |
| 268 | + latest_transform_job_name = transformer.latest_transform_job.name |
| 269 | + |
| 270 | + print('Attempting to stop {}'.format(latest_transform_job_name)) |
| 271 | + |
| 272 | + transformer.stop_transform_job() |
| 273 | + |
| 274 | + desc = transformer.latest_transform_job.sagemaker_session.sagemaker_client \ |
| 275 | + .describe_transform_job(TransformJobName=latest_transform_job_name) |
| 276 | + assert desc['TransformJobStatus'] == 'Stopping' |
| 277 | + |
| 278 | + |
239 | 279 | def _create_transformer_and_transform_job(estimator, transform_input, volume_kms_key=None,
|
240 | 280 | input_filter=None, output_filter=None, join_source=None):
|
241 | 281 | transformer = estimator.transformer(1, 'ml.m4.xlarge', volume_kms_key=volume_kms_key)
|
|
0 commit comments