in source/control_plane/python/lambda/get_results/get_results.py [0:0]
def get_tasks_statuses_in_session(session_id):
assert(session_id is not None)
response = {
"finished": [],
"finished_OUTPUT": [],
"cancelled": [],
"cancelled_OUTPUT": [],
"failed": [],
"failed_OUTPUT": []
}
# <1.> Process finished Tasks
finished_tasks_resp = state_table.get_tasks_by_state(session_id, TASK_STATE_FINISHED)
finished_tasks = finished_tasks_resp["Items"]
if len(finished_tasks) > 0:
response[TASK_STATE_FINISHED] = [x["task_id"] for x in finished_tasks]
response[TASK_STATE_FINISHED + '_OUTPUT'] = ["read_from_dataplane" for x in finished_tasks]
# <2.> Process cancelled Tasks
cancelled_tasks_resp = state_table.get_tasks_by_state(session_id, TASK_STATE_CANCELLED)
cancelled_tasks = cancelled_tasks_resp["Items"]
if len(cancelled_tasks) > 0:
response[TASK_STATE_CANCELLED] = [x["task_id"] for x in cancelled_tasks]
response[TASK_STATE_CANCELLED + '_OUTPUT'] = ["read_from_dataplane" for x in cancelled_tasks]
# <3.> Process failed Tasks
failed_tasks_resp = state_table.get_tasks_by_state(session_id, TASK_STATE_FAILED)
failed_tasks = failed_tasks_resp["Items"]
if len(failed_tasks) > 0:
response[TASK_STATE_FAILED] = [x["task_id"] for x in failed_tasks]
response[TASK_STATE_FAILED + '_OUTPUT'] = ["read_from_dataplane" for x in failed_tasks]
# <4.> Process metadata
response["metadata"] = {
"tasks_in_response": len(finished_tasks) + len(cancelled_tasks) + len(failed_tasks)
}
return response