in code/workflow/implementations/autopilot/bp_automl_stage.py [0:0]
def monitor_status(cls, job_name, context, client) :
sleep_time = 60
while True:
job_description = client.describe_auto_ml_job(AutoMLJobName=job_name)
status = job_description['AutoMLJobStatus']
results = {"job_name" : job_name}
if status == 'Completed' :
best_candidate = job_description['BestCandidate']
best_candidate_name = best_candidate['CandidateName']
results["best-candidate"] = {
"name" : best_candidate_name,
"objective": {
"name": best_candidate['FinalAutoMLJobObjectiveMetric']['MetricName'],
"value": best_candidate['FinalAutoMLJobObjectiveMetric']['Value']
},
"containers" : best_candidate["InferenceContainers"]
}
break;
elif status in ('Failed', 'Stopped') :
break;
else :
if context.get_remaining_time_in_millis() > 2000*sleep_time :
sleep(sleep_time)
else :
raise TaskTimedOut("Task timed out.")
results["status"] = status
return results