in src/hpcadvisor/data_collector.py [0:0]
def check_task_completion(task):
log.debug(
f"Checking task completion: id={task['id']} poolid={task['tags']['poolname']} jobname={task['tags']['jobname']} taskid={task['tags']['taskid']} status={task['status']} nnodes={task['nnodes']}"
)
if task["status"] == taskset_handler.TaskStatus.COMPLETED:
return True, task["status"]
jobname = task["tags"]["jobname"]
taskid = task["tags"]["taskid"]
poolname = task["tags"]["poolname"]
task_completed = batch_handler.wait_task_completion(
jobname, taskid, wait_blocked=False
)
log.debug(f"Task status: {task_completed} {jobname} {taskid}")
if not task_completed:
return False, None
task_status = batch_handler.get_task_execution_status(jobname, taskid)
return True, task_status