Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Gründe für Fehler beim Ausführen
Wenn ein Lauf fehlschlägt, verwenden Sie den GetRunAPI-Vorgang, um den Grund für den Fehler abzurufen.
Überprüfen Sie den Grund für den Fehler, um herauszufinden, warum der Lauf fehlgeschlagen ist. In der folgenden Tabelle sind die einzelnen Fehlerursachen zusammen mit einer Beschreibung des Fehlers aufgeführt.
Failure reason (Fehlerursache) | Fehlerbeschreibung |
---|---|
|
HealthOmics hat keine Erlaubnis, die Rolle zu übernehmen. Geben Sie den HealthOmics Prinzipal in der Vertrauensstellung für die Rolle an. |
|
Workflow-Aufgabe:, ID: Container mit Bild: konnte nicht gestartet |
|
Workflow-Aufgabe:, ID: Container mit Bild: konnte nicht gestartet werden. |
ECR_PERMISSION_ERROR |
HealthOmics hat keine Berechtigung, auf die Bild-URI zuzugreifen. Vergewissern Sie sich, dass das private Amazon ECR-Repository existiert und dem HealthOmics Service Principal Zugriff gewährt wurde. |
|
Der Export ist fehlgeschlagen. Stellen Sie sicher, dass der Ausgabe-Bucket vorhanden ist und dass die Run-Rolle über Schreibberechtigungen für den Bucket verfügt. |
|
Das Dateisystem hat nicht genug Speicherplatz. Erhöhen Sie die Größe des Dateisystems und führen Sie es erneut aus. |
|
Das Bild konnte nicht verifiziert werden. |
|
Der Import ist fehlgeschlagen. Vergewissern Sie sich, dass die Eingabedatei vorhanden ist und dass die Ausführungsrolle auf die Eingabe zugreifen kann. |
INACTIVE_OMICS_STORAGE_RESOURCE |
Die Speicher-URI befindet sich nicht im Status ACTIVE. HealthOmics Aktivieren Sie das Leseset und versuchen Sie es erneut. Weitere Informationen zur Aktivierung von Lesesätzen finden Sie unterAktivierung von Readsets in HealthOmics. |
INPUT_URI_NOT_FOUND |
Die angegebene URI existiert nicht:. uri Überprüfen Sie, ob der URI-Pfad existiert, und stellen Sie sicher, dass die Rolle auf das Objekt zugreifen kann. |
|
Die Instanzkapazität reicht nicht aus, um den Workflow-Lauf abzuschließen. Warten Sie und versuchen Sie erneut, den Workflow auszuführen. |
UNGÜLTIGER_ECR_IMAGE_URI |
Die Amazon ECR-Image-URI-Struktur ist nicht gültig. Geben Sie eine gültige URI ein und versuchen Sie es erneut. |
|
Die angeforderte GPU, CPU oder Arbeitsspeicher ist entweder zu hoch für die verfügbare Rechenkapazität oder sie unterschreitet den Mindestwert von 1 für die Aufgabe. ID |
|
Die URI-Struktur ist nicht gültig. uri Überprüfen Sie die URI-Struktur und versuchen Sie es erneut. |
MODIFIED_INPUT_RESOURCE |
Der angegebene URI |
|
Für die Workflow-Aufgabe ist nicht genügend Arbeitsspeicher verfügbar. |
|
Die Ausführung ist fehlgeschlagen, weil die Aufgabe fehlgeschlagen ist. Verwenden Sie den GetRunTaskAPI-Vorgang und den Amazon CloudWatch Logs-Stream, um den Aufgabenfehler zu debuggen. |
|
Timeout nach Minuten ausführen. |
SERVICE_ERROR |
Im Dienst ist ein vorübergehender Fehler aufgetreten. Versuchen Sie erneut, den Workflow auszuführen. |
|
Die Gesamtgröße der Eingabe ist zu hoch. Verringern Sie die Eingabegröße und versuchen Sie es erneut. |
|
Die Workflow-Ausführung ist fehlgeschlagen. Überprüfen Sie den CloudWatch Logstream der Log-Engine: |
|
HealthOmics unterstützt die angeforderte Nextflow-Version nicht: --. |
|
Der angeforderte Instanztyp wird in nicht unterstützt. |
Hinweise für nicht reagierende Läufe
Bei der Entwicklung neuer Workflows kann es vorkommen, dass Läufe oder bestimmte Aufgaben „hängen bleiben“ oder „hängen“, wenn es Probleme mit Ihrem Code gibt und Aufgaben Prozesse nicht ordnungsgemäß beenden können. Dies kann schwierig sein, Fehler zu beheben und catch, da es normal ist, dass Aufgaben über einen längeren Zeitraum ausgeführt werden. Folgen Sie den empfohlenen bewährten Methoden in den folgenden Abschnitten, um nicht reagierende Ausführungen zu verhindern und zu identifizieren.
Bewährte Methoden zur Vermeidung nicht reagierender Läufe
-
Stellen Sie sicher, dass Sie alle in Ihrem Aufgabencode geöffneten Dateien schließen. Das Öffnen zu vieler Dateien kann gelegentlich zu Threading-Problemen innerhalb der Workflow-Engines führen.
-
Hintergrundprozesse, die durch eine Workflow-Aufgabe erstellt wurden, sollten beendet werden, wenn die Aufgabe beendet wird. Wenn ein Hintergrundprozess jedoch nicht ordnungsgemäß beendet wird, müssen Sie diesen Prozess in Ihrem Aufgabencode explizit beenden.
-
Stellen Sie sicher, dass Ihre Prozesse nicht wiederholt werden, ohne sie zu beenden. Dies kann dazu führen, dass die Ausführung nicht reagiert, und zur Behebung des Problems ist eine Änderung Ihres Workflow-Definitionscodes erforderlich.
-
Stellen Sie eine angemessene Speicher- und CPU-Zuweisung für Ihre Aufgaben bereit. Analysieren Sie die CloudWatch Protokolle oder verwenden Sie die Führen Sie Analyzer aus Daten der erfolgreich abgeschlossenen Läufe Ihres Workflows, um sicherzustellen, dass Sie über eine optimale Rechenzuweisung verfügen. Verwenden Sie den Run
headroom
Analyzer-Parameter, um zusätzlichen Spielraum einzubeziehen und sicherzustellen, dass die Prozesse über ausreichende Ressourcen verfügen, um sie abzuschließen. Rechnen Sie mindestens 5% des zugewiesenen Speichers und der CPU mit ein, um Hintergrundprozesse im Betriebssystem zu berücksichtigen.-
Erhöhen Sie außerdem die Größe der Instance-Bandbreite, wenn die Instance einen höheren Durchsatz benötigt. Bei EC2 Amazon-Instances mit weniger als 16 v CPUs (Größe 4xl und kleiner) kann es zu Durchsatzspitzen kommen. Weitere Informationen zum EC2 Amazon-Instance-Durchsatz finden Sie unter EC2 Verfügbare Instance-Bandbreite von Amazon.
-
-
Stellen Sie sicher, dass Sie die richtige Dateisystemgröße für Ihre Läufe verwenden. Bei nicht reagierenden Läufen, die statischen Laufspeicher verwenden, sollten Sie erwägen, die Speicherzuweisung für statische Durchläufe zu erhöhen, um einen höheren I/O-Durchsatz und eine höhere Speicherkapazität im Dateisystem zu ermöglichen. Analysieren Sie das Ausführungsmanifest, um den maximalen Speicherplatz im Dateisystem zu ermitteln, und ermitteln Sie mit dem Run Analyzer, ob die Dateisystemzuweisung erhöht werden muss.
Bewährte Methoden zur Erkennung nicht reagierender Läufe
-
Verwenden Sie bei der Entwicklung neuer Workflows eine Ausführungsgruppe, bei der das maximale Laufzeitlimit festgelegt ist, um außer Kontrolle geratenen Code abzufangen. Wenn ein Lauf beispielsweise 1 Stunde dauern sollte, ordnen Sie ihn einer Ausführungsgruppe zu, bei der nach 2 oder 3 Stunden (oder einem anderen Zeitraum, je nach Anwendungsfall) ein Timeout auftritt, um ungenutzte Jobs abzufangen. Wenden Sie außerdem einen Puffer an, um Abweichungen bei den Verarbeitungszeiten zu berücksichtigen.
-
Richten Sie eine Reihe von Ausführungsgruppen mit unterschiedlichen maximalen Laufzeitlimits ein. Sie könnten beispielsweise einer Ausführungsgruppe, die die Läufe nach einigen Stunden beendet, kurze Läufe zuweisen, und einer Gruppe mit langen Ausführungen, die Läufe nach einigen Tagen beenden, basierend auf Ihrer erwarteten Workflow-Dauer.
-
HealthOmics hat ein standardmäßiges Service-Limit für die maximale Ausführungsdauer von 604.800 Sekunden oder 7 Tagen, das durch eine Anfrage im Quotas-Tool angepasst werden kann. Fordern Sie eine Erhöhung des Servicelimits für dieses Kontingent nur an, wenn Sie Läufe mit einer Dauer von etwa einer Woche haben. Wenn Sie eine Mischung aus kurzen und langen Läufen haben und keine Ausführungsgruppen verwenden, sollten Sie erwägen, die Läufe mit langer Laufzeit in einem separaten Konto mit einem höheren Dienstlimit für die maximale Ausführungsdauer abzulegen.
-
Suchen Sie in den CloudWatch Protokollen nach Aufgaben, von denen Sie vermuten, dass sie nicht reagieren. Wenn eine Aufgabe normalerweise reguläre Protokollanweisungen ausgibt und dies über einen längeren Zeitraum nicht getan hat, ist die Aufgabe wahrscheinlich hängen geblieben oder eingefroren.
Was tun, wenn eine Ausführung nicht reagiert
-
Stornieren Sie den Lauf, um zusätzliche Kosten zu vermeiden.
-
Prüfen Sie in den Task-Protokollen, ob Prozesse nicht korrekt beendet werden konnten.
-
Untersuchen Sie die Motorprotokolle, um abnormales Motorverhalten zu identifizieren.
-
Vergleichen Sie die Aufgaben- und Engine-Protokolle des nicht reagierenden Laufs mit denen identischer, erfolgreich abgeschlossener Läufe. Auf diese Weise können Sie alle Unterschiede ermitteln, die möglicherweise zu dem nicht reagierenden Verhalten geführt haben.
-
Wenn Sie nicht in der Lage sind, die Ursache zu ermitteln, melden Sie eine Support-Anfrage und fügen Sie Folgendes hinzu:
-
ARN des festgefahrenen Laufs und ARN eines identischen Laufs, der erfolgreich abgeschlossen wurde.
-
Engine-Protokolle (verfügbar, sobald der Lauf abgebrochen wurde oder fehlschlägt)
-
Task-Logs für die Aufgabe, die nicht reagiert hat. Zur Fehlerbehebung benötigen wir nicht für alle Aufgaben im Workflow Aufgabenprotokolle.
-