def handle_async_feature_engineering_status_exception_case(lock, dataextraction_job_cache, code,
message, logger, is_success,
- trainingjob_name, ps_db_obj, mm_sdk):
+ trainingjob_name, mm_sdk):
"""
This function changes IN_PROGRESS state to FAILED state and calls response_for_training function
and remove trainingjob_name from dataextraction_job_cache.
"""
try:
- change_in_progress_to_failed_by_latest_version(trainingjob_name, ps_db_obj)
- response_for_training(code, message, logger, is_success, trainingjob_name, ps_db_obj, mm_sdk)
+ change_in_progress_to_failed_by_latest_version(trainingjob_name)
+ response_for_training(code, message, logger, is_success, trainingjob_name, mm_sdk)
except Exception as err:
logger.error("Failed in handle_async_feature_engineering_status_exception_case" + str(err))
finally:
LOGGER.debug("Request metadata for trainingjob(name of trainingjob is %s) ", trainingjob_name)
try:
- results = get_all_versions_info_by_name(trainingjob_name, PS_DB_OBJ)
+ results = get_all_versions_info_by_name(trainingjob_name)
if results:
info_list = []
for trainingjob_info in results:
- if (get_one_word_status(json.loads(trainingjob_info[9])) == States.FINISHED.name and
- not trainingjob_info[19]):
+ if (get_one_word_status(json.loads(trainingjob_info.steps_state)) == States.FINISHED.name and
+ not trainingjob_info.deletion_in_progress):
LOGGER.debug("Downloading metric for " +trainingjob_name )
data = get_metrics(trainingjob_name, trainingjob_info[11], MM_SDK)
url = "http://" + str(TRAININGMGR_CONFIG_OBJ.my_ip) + ":" + \
trainingjob_name + "/" + str(trainingjob_info[11]) + "/Model.zip"
dict_data = {
"accuracy": data,
- "version": trainingjob_info[11],
+ "version": trainingjob_info.version,
"url": url
}
info_list.append(dict_data)
trainingjob_name + " " + json.dumps(response))
if response["task_status"] == "Completed":
- change_steps_state_of_latest_version(trainingjob_name, PS_DB_OBJ,
- Steps.DATA_EXTRACTION.name,
- States.FINISHED.name)
- change_steps_state_of_latest_version(trainingjob_name, PS_DB_OBJ,
- Steps.DATA_EXTRACTION_AND_TRAINING.name,
- States.IN_PROGRESS.name)
+ with APP.app_context():
+ change_steps_state_of_latest_version(trainingjob_name,
+ Steps.DATA_EXTRACTION.name,
+ States.FINISHED.name)
+ change_steps_state_of_latest_version(trainingjob_name,
+ Steps.DATA_EXTRACTION_AND_TRAINING.name,
+ States.IN_PROGRESS.name)
kf_response = requests.post(url_pipeline_run,
data=json.dumps({"trainingjob_name": trainingjob_name}),
headers={
DATAEXTRACTION_JOBS_CACHE,
status.HTTP_500_INTERNAL_SERVER_ERROR,
str(err) + "(trainingjob name is " + trainingjob_name + ")",
- LOGGER, False, trainingjob_name,
- PS_DB_OBJ, MM_SDK)
+ LOGGER, False, trainingjob_name, MM_SDK)
#Wait and fetch latest list of trainingjobs
time.sleep(10)