Cycle de vie des tâches en une seule HealthOmics exécution - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Cycle de vie des tâches en une seule HealthOmics exécution

Une tâche est un processus unique au cours d'une exécution. HealthOmics associe chaque tâche de votre flux de travail à un type d'instance de calcul omique qui correspond le mieux aux ressources requises pour la tâche. Vous spécifiez les ressources requises dans la définition du flux de travail. Pour plus d'informations, voirExigences en matière de calcul et de mémoire pour les HealthOmics tâches.

HealthOmics fournit un stockage d'exécution temporaire pour la tâche à utiliser. HealthOmics copie les fichiers d'entrée des tâches dans le stockage d'exécution temporaire sous forme de fichiers en lecture seule. HealthOmics fournit des liens symboliques permettant à la tâche d'accéder aux fichiers d'entrée depuis le répertoire de travail. La tâche a accès uniquement aux fichiers que vous déclarez dans le fichier de définition du flux de travail.

Valeurs d'état des tâches

Vous pouvez suivre la progression d'une tâche en surveillant son état. Lorsque vous lancez une exécution, HealthOmics définit le statut de la tâche sur Pending pour chaque tâche de l'exécution. Lorsque la tâche démarre et progresse tout au long de son cycle de vie, HealthOmics met à jour la valeur de statut pour refléter sa progression actuelle.

Vous pouvez récupérer le statut d'une tâche à l'aide de l'une des méthodes suivantes :

  • La HealthOmics console affiche le statut de chaque tâche lors d'une exécution sur la Run details page.

  • L'opération GetRunTask d'API renvoie le statut de la tâche.

  • Vous pouvez surveiller l'état des tâches à l'aide d' EventBridge événements. Pour de plus amples informations, veuillez consulter Utilisation EventBridge avec AWS HealthOmics.

Vous pouvez récupérer le statut actuel d'une tâche à l'aide de l'opération GetRunTask API. La HealthOmics console affiche le statut de chaque tâche lors d'une exécution sur la Run details page.

HealthOmics prend en charge les valeurs d'état des tâches suivantes :

En attente

Votre tâche est dans la file d'attente et attend de démarrer. Les tâches restent en attente pendant une brève période avant de commencer.

  • Les tâches restent en attente une fois que votre compte a atteint le nombre maximum de tâches simultanées.

  • Les tâches restent en attente si l'exécution fait partie d'un groupe d'exécution ayant atteint l'une de ses valeurs maximales de ressources.

  • Vous pouvez ajuster les priorités d'exécution afin que les exécutions spécifiques en file d'attente et leurs tâches démarrent avant les autres exécutions en file d'attente. Pour plus d'informations sur la priorité d'exécution, voir Priorité d'exécution

Démarrage en cours

HealthOmics crée la tâche et fournit les ressources nécessaires à la tâche, telles que le nœud de tâche du flux de travail.

En cours d'exécution

L'état de la tâche HealthOmics est En cours d'exécution pendant le traitement de la tâche.

Arrêt en cours

Une fois le traitement de la tâche terminé et les données de sortie exportées, la tâche passe au mode Arrêt.

  • HealthOmics déprovisionne le nœud des tâches du flux de travail.

Terminé

HealthOmics a terminé le traitement de la tâche et a transféré les données de sortie vers le système de fichiers de stockage exécuté.

Échec

HealthOmics a rencontré une erreur lors du traitement de la tâche et ne l'a pas terminée.

  • La tâche passe au statut Arrêt (HealthOmics déprovisionne les ressources) puis au statut Échoué.

  • Si l'erreur est une erreur de service (code d'état HTTP 5XX) et que le flux de travail prend en charge les nouvelles HealthOmics tentatives pour cette tâche, tente à nouveau de traiter la tâche. HealthOmics attribue un nouvel ID de tâche à la nouvelle tentative.

Annulée

HealthOmics arrête la tâche après une demande d'annulation de l'exécution initiée par l'utilisateur.

  • La tâche passe au statut Arrêt (HealthOmics déprovisionne les ressources) puis au statut Annulé.

Résolution des problèmes de flux de travail

Vous trouverez ci-dessous les meilleures pratiques et les considérations relatives au dépannage de vos tâches.

  • Les journaux des tâches reposent sur la tâche STDOUT et STDERR sont produits par celle-ci. Si l'application utilisée dans la tâche ne produit aucun de ces éléments, il n'y aura pas de journal des tâches. Pour faciliter le débogage, utilisez les applications en verbose mode.

  • Pour afficher les commandes exécutées dans une tâche ainsi que leurs valeurs interpolées, utilisez la commande set -x Bash. Cela peut aider à déterminer si la tâche utilise les entrées correctes et à identifier les domaines dans lesquels des erreurs ont pu empêcher la tâche de s'exécuter comme prévu.

  • Utilisez la echo commande pour afficher les valeurs des variables vers STDOUT ouSTDERR. Cela vous permet de confirmer qu'ils sont définis comme prévu.

  • Utilisez des commandes telles que ls -l <name_of_input_file> pour confirmer que les entrées sont présentes et qu'elles ont la taille attendue. Si ce n'est pas le cas, cela peut révéler un problème lié à une tâche précédente produisant des sorties vides en raison d'un bogue.

  • Utilisez la commande df -Ph . | awk 'NR==2 {print $4}' dans un script de tâches pour déterminer l'espace actuellement disponible pour la tâche et aider à identifier les situations dans lesquelles vous pourriez avoir besoin d'exécuter le flux de travail avec une allocation de stockage supplémentaire.

L'inclusion de l'une des commandes précédentes dans un script de tâche suppose que le conteneur de tâches inclut également ces commandes et qu'elles se trouvent dans l'environnement path du conteneur.