def check_task_completion()

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