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.
Raisons d'échec de l'exécution
Si une exécution échoue, utilisez l'opération GetRunAPI pour récupérer la raison de l'échec.
Passez en revue la raison de l'échec pour vous aider à résoudre les problèmes liés à l'échec de l'exécution. Le tableau suivant répertorie chaque cause de défaillance ainsi qu'une description de l'erreur.
Motif de l'échec | Description de l'erreur. |
---|---|
|
HealthOmics n'est pas autorisé à assumer le rôle. Spécifiez le HealthOmics principal dans la relation de confiance pour le rôle. |
|
Impossible de démarrer la tâche de flux de travail : |
|
Impossible de démarrer la tâche de flux de travail : |
ECR_PERMISSION_ERROR |
HealthOmics n'est pas autorisé à accéder à l'URI de l'image. Vérifiez que le référentiel privé Amazon ECR existe et qu'il a accordé l'accès au principal du HealthOmics service. |
|
L'exportation a échoué. Vérifiez que le compartiment de sortie existe et que le rôle d'exécution dispose d'une autorisation d'écriture sur le compartiment. |
|
Le système de fichiers ne dispose pas de suffisamment d'espace. Augmentez la taille du système de fichiers et réexécutez. |
|
Impossible de vérifier l'image |
|
L'importation a échoué. Vérifiez que le fichier d'entrée existe et que le rôle d'exécution peut accéder à l'entrée. |
RESOURCE_DE STOCKAGE INACTIVE_OMICS |
L'URI HealthOmics de stockage n'est pas à l'état ACTIF. Activez le kit de lecture et réessayez. Pour en savoir plus sur l'activation des ensembles de lecture, consultezL'activation de la lecture s'installe dans HealthOmics. |
INPUT_URI_NOT_FOUND |
L'URI fourni n'existe pas :uri . Vérifiez que le chemin de l'URI existe et que le rôle peut accéder à l'objet. |
|
La capacité d'instance est insuffisante pour terminer l'exécution du flux de travail. Patientez et réessayez d'exécuter le flux de travail. |
URI_ECR_IMAGE_URI INVALIDE |
La structure d'URI de l'image Amazon ECR n'est pas valide. Entrez un URI valide et réessayez. |
|
Le GPU, le processeur ou la mémoire requis est soit trop élevé par rapport à la capacité de calcul disponible, soit inférieur à la valeur minimale de 1 pour la tâcheID . |
|
La structure de l'URI n'est pas valideuri . Vérifiez la structure de l'URI et réessayez. |
RESSOURCE_ENTRÉE_MODIFIÉE |
L'URI fourni |
|
La mémoire de la tâche |
|
L'exécution a échoué car la tâche a échoué. Pour corriger l'échec de la tâche, utilisez l'opération GetRunTaskAPI et le flux Amazon CloudWatch Logs. |
|
Expiration du délai d'exécution après |
ERREUR DE SERVICE |
Une erreur temporaire s'est produite dans le service. Réessayez d'exécuter le flux de travail. |
DÉLAI D'EXPIRATION DE LA TÂCHE |
La tâche id a expiré au bout de number quelques secondes. |
|
La taille d'entrée totale est trop élevée. Diminuez la taille de saisie et réessayez. |
|
L'exécution du flux de travail a échoué. Consultez le flux de journal du moteur CloudWatch Logs : |
|
HealthOmics ne prend pas en charge la version de Nextflow demandée : |
|
Le type d'instance demandé n'est pas pris en charge dans |
Conseils pour les essais qui ne répondent pas
Lorsque vous développez de nouveaux flux de travail, des exécutions ou des tâches spécifiques peuvent être « bloquées » ou « bloquées » en cas de problème avec votre code, et les tâches ne parviennent pas à quitter correctement les processus. Cela peut être difficile à résoudre et à attraper, car il est normal que les tâches s'exécutent pendant de longues périodes. Pour éviter et identifier les exécutions qui ne répondent pas, suivez les meilleures pratiques suggérées dans les sections suivantes.
Bonnes pratiques pour éviter les essais sans réponse
-
Assurez-vous de fermer tous les fichiers ouverts dans votre code de tâche. L'ouverture d'un trop grand nombre de fichiers peut parfois entraîner des problèmes de thread dans les moteurs de flux de travail.
-
Les processus d'arrière-plan créés par une tâche de flux de travail doivent se terminer à la fin de la tâche. Toutefois, si un processus en arrière-plan ne se termine pas correctement, vous devez l'arrêter explicitement dans votre code de tâche.
-
Assurez-vous que vos processus ne s'exécutent pas en boucle sans sortir. Cela peut entraîner une absence de réponse et nécessite une modification du code de définition de votre flux de travail pour y remédier.
-
Fournissez une allocation de mémoire et de processeur appropriée à vos tâches. Analysez les CloudWatch journaux ou utilisez les Exécuter l'analyseur exécutions réussies de votre flux de travail pour vérifier que vous disposez d'une allocation de calcul optimale. Utilisez le
headroom
paramètre Run Analyzer pour inclure une marge de manœuvre supplémentaire, afin de garantir que les processus disposent de suffisamment de ressources pour être menés à bien. Incluez au moins 5 % d'espace libre dans la mémoire et le processeur alloués, afin de tenir compte des processus du système d'exploitation en arrière-plan.-
En outre, augmentez la taille de bande passante de l'instance si celle-ci nécessite un débit plus élevé. EC2 Les instances Amazon de moins de 16 V CPUs (taille 4xl ou inférieure) peuvent connaître des pics de débit. Pour plus d'informations sur le débit des EC2 instances Amazon, consultez la section Bande passante d'instance EC2 disponible sur Amazon.
-
-
Assurez-vous d'utiliser la bonne taille de système de fichiers pour vos exécutions. Pour les exécutions qui ne répondent pas et qui utilisent le stockage statique, envisagez d'augmenter l'allocation de stockage pour les exécutions statiques afin d'augmenter le débit d'E/S et la capacité de stockage du système de fichiers. Analysez le manifeste d'exécution pour connaître le stockage maximal du système de fichiers, utilisez l'analyseur d'exécution pour déterminer si l'allocation du système de fichiers doit être augmentée.
Meilleures pratiques pour détecter les courses qui ne répondent pas
-
Lorsque vous développez de nouveaux flux de travail, utilisez un groupe d'exécution dont la durée d'exécution maximale est définie pour intercepter le code en fuite. Par exemple, si une exécution doit prendre 1 heure, placez-la dans un groupe d'exécutions qui expire au bout de 2 ou 3 heures (ou d'une période différente en fonction de votre cas d'utilisation) afin de détecter les tâches en cours d'exécution. Appliquez également une zone tampon pour tenir compte de la variation des délais de traitement.
-
Configurez une série de groupes d'exécution avec différentes limites d'exécution maximales. Par exemple, vous pouvez attribuer des séries courtes à un groupe d'exécution qui met fin aux séries au bout de quelques heures, et à un groupe de séries longues qui met fin aux séries après quelques jours, en fonction de la durée prévue de votre flux de travail.
-
HealthOmics a une limite de service de durée d'exécution maximale par défaut de 604 800 secondes, soit 7 jours, qui est ajustable par le biais d'une demande dans l'outil de quotas. Ne demandez une augmentation de la limite de service de ce quota que si vous avez des courses d'une durée d'environ une semaine. Si vous utilisez à la fois des séries courtes et longues et que vous n'utilisez pas de groupes de courses, envisagez de placer les séries de longue durée dans un compte distinct avec une limite de service de durée maximale d'exécution plus élevée.
-
Examinez les CloudWatch journaux pour détecter les tâches susceptibles de ne pas répondre. Si une tâche produit normalement des instructions de journal régulières et qu'elle ne le fait pas depuis longtemps, elle est probablement bloquée ou bloquée.
Que faire si vous constatez une course qui ne répond pas
-
Annulez la course pour éviter d'encourir des frais supplémentaires.
-
Consultez les journaux des tâches pour vérifier si certains processus n'ont pas réussi à se fermer correctement.
-
Inspectez les journaux du moteur pour identifier tout comportement anormal du moteur.
-
Comparez les journaux des tâches et du moteur de l'exécution sans réponse à ceux des exécutions identiques terminées avec succès. Cela peut aider à identifier les différences susceptibles d'être à l'origine du comportement de non-réponse.
-
Si vous ne parvenez pas à déterminer la cause première, soumettez un dossier d'assistance et incluez les éléments suivants :
-
ARN de l'exécution bloquée et ARN d'une exécution identique qui s'est terminée avec succès.
-
Journaux du moteur (disponibles une fois que l'exécution a été annulée ou échoue)
-
Journaux de tâches pour la tâche qui ne répond pas. Nous n'avons pas besoin de journaux de tâches pour toutes les tâches du flux de travail à des fins de dépannage.
-