Ciclo de vida de una tarea en HealthOmics ejecución - AWS HealthOmics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ciclo de vida de una tarea en HealthOmics ejecución

Una tarea es un proceso único dentro de una ejecución. HealthOmics asigna cada tarea de su flujo de trabajo al tipo de instancia de computación ómica que mejor se adapte a los recursos necesarios para la tarea. Los recursos necesarios se especifican en la definición del flujo de trabajo. Para obtener más información, consulteRequisitos de cómputo y memoria para HealthOmics las tareas.

HealthOmics proporciona almacenamiento de ejecución temporal para que lo utilice la tarea. HealthOmics copia los archivos de entrada de la tarea en el almacenamiento temporal de ejecución como archivos de solo lectura. HealthOmics proporciona enlaces simbólicos para que la tarea pueda acceder a los archivos de entrada desde el directorio de trabajo. La tarea solo tiene acceso a los archivos declarados en el archivo de definición del flujo de trabajo.

Valores de estado de la tarea

Puede realizar un seguimiento del progreso de una tarea supervisando el estado de la tarea. Al iniciar una ejecución, HealthOmics establece el estado de la tarea en el Pending de cada tarea de la ejecución. Cuando la tarea se inicia y avanza a lo largo de su ciclo de vida, HealthOmics actualiza el valor de estado para reflejar su progreso actual.

Puede recuperar el estado de la tarea mediante cualquiera de los métodos siguientes:

  • La HealthOmics consola muestra el estado de cada tarea en ejecución en la Run details página.

  • La operación GetRunTask de la API devuelve el estado de la tarea.

  • Puede supervisar el estado de las tareas mediante EventBridge eventos. Para obtener más información, consulte Uso EventBridge con AWS HealthOmics.

Puede recuperar el estado actual de una tarea mediante la operación de la GetRunTask API. La HealthOmics consola muestra el estado de cada tarea en ejecución en la Run details página.

HealthOmics admite los siguientes valores de estado de la tarea:

Pendiente

La tarea está en la cola esperando para empezar. Las tareas permanecen pendientes durante un breve periodo de tiempo antes de que comiencen.

  • Las tareas permanecen pendientes después de que tu cuenta haya alcanzado el número máximo de tareas simultáneas.

  • Las tareas permanecen pendientes si la ejecución forma parte de un grupo de ejecuciones que ha alcanzado alguno de sus valores máximos de recursos.

  • Puede ajustar las prioridades de ejecución para que determinadas ejecuciones en cola y sus tareas comiencen antes que otras ejecuciones en cola. Para obtener más información sobre la prioridad de ejecución, consulte Prioridad de ejecución

Inicio

HealthOmics está creando la tarea y aprovisionando los recursos necesarios para la misma, como el nodo de tareas del flujo de trabajo.

Running

El estado de la tarea es En ejecución mientras HealthOmics se está procesando la tarea.

Detención

Tras completar el procesamiento de la tarea y exportar los datos de salida, la tarea pasa a Detenida.

  • HealthOmics desaprovisiona el nodo de tareas del flujo de trabajo.

Completado

HealthOmics ha terminado de procesar la tarea y ha transferido los datos de salida al sistema de archivos de almacenamiento en ejecución.

Con error

HealthOmics ha detectado un error al procesar la tarea y no la ha completado.

  • La tarea pasa al estado Parada (HealthOmics desaprovisiona los recursos) y, después, al estado Fallido.

  • Si el error es un error de servicio (código de estado HTTP 5XX) y el flujo de trabajo admite HealthOmics reintentos para esta tarea, intenta volver a procesarla. HealthOmics asigna un nuevo identificador de tarea al reintento.

Cancelado

HealthOmics detiene la tarea tras una solicitud iniciada por el usuario para cancelar la ejecución.

  • La tarea pasa al estado de parada (HealthOmics desaprovisiona los recursos) y, después, al estado cancelada.

Solución de problemas de tareas de flujo

A continuación, se indican las prácticas recomendadas y las consideraciones para solucionar problemas de sus tareas.

  • Los registros de tareas STDERR se basan en la tarea STDOUT y son generados por ella. Si la aplicación utilizada en la tarea no produce ninguno de estos datos, no habrá ningún registro de tareas. Para facilitar la depuración, utilice las aplicaciones en verbose modo.

  • Para ver los comandos que se están ejecutando en una tarea junto con sus valores interpolados, utilice el set -x comando Bash. Esto puede ayudar a determinar si la tarea está utilizando las entradas correctas e identificar los errores que podrían haber impedido que la tarea se ejecutara según lo previsto.

  • Utilice el echo comando para enviar los valores de las variables a STDOUT oSTDERR. Esto le ayuda a confirmar que se están configurando como se esperaba.

  • Usa comandos como ls -l <name_of_input_file> estos para confirmar que las entradas están presentes y tienen el tamaño esperado. Si no lo están, esto podría revelar un problema con una tarea anterior que produce resultados vacíos debido a un error.

  • Utilice el comando df -Ph . | awk 'NR==2 {print $4}' de un script de tareas para determinar el espacio disponible actualmente para la tarea y ayudar a identificar situaciones en las que podría necesitar ejecutar el flujo de trabajo con una asignación de almacenamiento adicional.

Al incluir cualquiera de los comandos anteriores en un script de tareas, se supone que el contenedor de tareas también incluye estos comandos y que se encuentran en el entorno path del contenedor.