in sagemaker_run_notebook/cli.py [0:0]
def run_notebook(args):
params = process_params(args.p)
if args.notebook.startswith("s3://"):
input_path = args.notebook
notebook = os.path.basename(args.notebook)
else:
input_path = None
notebook = args.notebook
extra_fns = []
if args.extra:
extra_fns.append(base_extras(load_extra(args.extra)))
if args.emr:
extra_fns.append(emr.add_emr_cluster(args.emr))
try:
job_name = run.invoke(
image=args.image,
input_path=input_path,
output_prefix=args.output_prefix,
notebook=notebook,
parameters=params,
role=args.role,
instance_type=args.instance,
extra_fns=extra_fns,
)
except run.InvokeException as ie:
print(f"Error starting run: {str(ie)}")
return
except FileNotFoundError as fe:
print(str(fe))
return
print(f"Started processing job {job_name}")
if args.no_wait:
return
status, failure = run.wait_for_complete(job_name)
print(f"Run finished with status {status}")
if failure:
print(failure)
else:
run.download_notebook(job_name, args.output_dir)