Aufgabenlebenszyklus in einem HealthOmics Lauf - AWS HealthOmics

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.

Aufgabenlebenszyklus in einem HealthOmics Lauf

Eine Aufgabe ist ein einzelner Prozess innerhalb eines Laufs. HealthOmics ordnet jede Aufgabe in Ihrem Workflow einem Omics Computing-Instanztyp zu, der am besten zu den für die Aufgabe benötigten Ressourcen passt. Sie geben die erforderlichen Ressourcen in der Workflow-Definition an. Weitere Informationen finden Sie unterRechen- und Speicheranforderungen für HealthOmics Aufgaben.

HealthOmics stellt temporären Ausführungsspeicher zur Verfügung, den die Aufgabe verwenden kann. HealthOmics kopiert die Eingabedateien für die Aufgabe als schreibgeschützte Dateien in den temporären Ausführungsspeicher. HealthOmics stellt symbolische Links bereit, sodass die Aufgabe vom Arbeitsverzeichnis aus auf die Eingabedateien zugreifen kann. Die Aufgabe hat nur Zugriff auf die Dateien, die Sie in der Workflow-Definitionsdatei deklarieren.

Werte für den Aufgabenstatus

Sie können den Fortschritt einer Aufgabe verfolgen, indem Sie den Aufgabenstatus überwachen. Wenn Sie eine Ausführung starten, wird der Aufgabenstatus Pending für jede Aufgabe in der Ausführung auf HealthOmics festgelegt. Wenn die Aufgabe gestartet wird und ihren Lebenszyklus durchläuft, wird der Statuswert HealthOmics aktualisiert, sodass er ihren aktuellen Fortschritt wiedergibt.

Sie können den Aufgabenstatus mit einer der folgenden Methoden abrufen:

  • Die HealthOmics Konsole zeigt den Status jeder Aufgabe in einer Ausführung auf der Run details Seite an.

  • Der GetRunTask API-Vorgang gibt den Aufgabenstatus zurück.

  • Sie können den Aufgabenstatus mithilfe von EventBridge Ereignissen überwachen. Weitere Informationen finden Sie unter Verwenden EventBridge mit AWS HealthOmics.

Sie können den aktuellen Status einer Aufgabe mithilfe der GetRunTask API-Operation abrufen. Die HealthOmics Konsole zeigt den Status für jede Aufgabe in einer Ausführung auf der Run details Seite an.

HealthOmics unterstützt die folgenden Statuswerte für Aufgaben:

Ausstehend

Ihre Aufgabe befindet sich in der Warteschlange und wartet darauf, gestartet zu werden. Aufgaben bleiben für einen kurzen Zeitraum ausstehend, bevor sie beginnen.

  • Aufgaben bleiben ausstehend, auch wenn Ihr Konto die maximale Anzahl gleichzeitiger Aufgaben erreicht hat.

  • Aufgaben bleiben ausstehend, wenn die Ausführung Teil einer Ausführungsgruppe ist, deren Ressourcenmaximalwerte erreicht wurden.

  • Sie können die Ausführungsprioritäten so anpassen, dass bestimmte Läufe in der Warteschlange und ihre Aufgaben vor anderen Läufen in der Warteschlange beginnen. Weitere Informationen zur Ausführungspriorität finden Sie unter Priorität ausführen

Wird gestartet

HealthOmics erstellt die Aufgabe und stellt die für die Aufgabe erforderlichen Ressourcen bereit, z. B. den Workflow-Aufgabenknoten.

In Ausführung

Der Aufgabenstatus ist Wird ausgeführt, während die Aufgabe bearbeitet HealthOmics wird.

Wird angehalten

Nach Abschluss der Aufgabenverarbeitung und dem Export der Ausgabedaten wechselt die Aufgabe in den Status Beendet.

  • HealthOmics beendet die Bereitstellung des Workflow-Aufgabenknotens.

Completed

HealthOmics hat die Bearbeitung der Aufgabe abgeschlossen und die Ausgabedaten in das Run-Storage-Dateisystem übertragen.

Fehlgeschlagen

HealthOmics ist bei der Bearbeitung der Aufgabe auf einen Fehler gestoßen und wurde nicht abgeschlossen.

  • Die Aufgabe wechselt in den Status Stopp (die HealthOmics Bereitstellung der Ressourcen wird aufgehoben) und anschließend in den Status Fehlgeschlagen.

  • Wenn es sich bei dem Fehler um einen Dienstfehler handelt (HTTP-Statuscode 5XX) und der Workflow Wiederholungsversuche für diese Aufgabe unterstützt, wird HealthOmics versucht, die Aufgabe erneut zu verarbeiten. HealthOmics weist dem Wiederholungsversuch eine neue Aufgaben-ID zu.

Abgebrochen

HealthOmics stoppt die Aufgabe nach einer vom Benutzer initiierten Aufforderung, die Ausführung abzubrechen.

  • Die Aufgabe wechselt in den Status Beendet (Bereitstellung der Ressourcen HealthOmics wird aufgehoben) und anschließend in den Status Abgebrochen.

Problembehandlung bei Workflow-Aufgaben

Im Folgenden finden Sie bewährte Methoden und Überlegungen zur Problembehandlung bei Ihren Aufgaben.

  • Aufgabenprotokolle hängen von der Aufgabe STDERR ab STDOUT und werden von ihr erstellt. Wenn die in der Aufgabe verwendete Anwendung keines dieser Elemente erzeugt, wird es kein Aufgabenprotokoll geben. Verwenden Sie Anwendungen im verbose Modus, um das Debuggen zu unterstützen.

  • Verwenden Sie den Bash-Befehl, um die Befehle, die in einer Aufgabe ausgeführt werden, zusammen mit ihren interpolierten Werten anzuzeigen. set -x Auf diese Weise können Sie feststellen, ob die Aufgabe die richtigen Eingaben verwendet, und ermitteln, wo Fehler die Ausführung der Aufgabe möglicherweise verhindert haben.

  • Verwenden Sie den echo Befehl, um die Werte von Variablen in STDOUT oder auszugebenSTDERR. Auf diese Weise können Sie überprüfen, ob sie wie erwartet festgelegt wurden.

  • Verwenden Sie Befehle wie ls -l <name_of_input_file>, um zu überprüfen, ob Eingaben vorhanden sind und die erwartete Größe haben. Wenn dies nicht der Fall ist, könnte dies auf ein Problem mit einer vorherigen Aufgabe hinweisen, die aufgrund eines Fehlers leere Ausgaben erzeugt hat.

  • Verwenden Sie den Befehl df -Ph . | awk 'NR==2 {print $4}' in einem Aufgabenskript, um den Speicherplatz zu ermitteln, der derzeit für die Aufgabe verfügbar ist, und um Situationen zu identifizieren, in denen Sie den Workflow möglicherweise mit zusätzlicher Speicherzuweisung ausführen müssen.

Wenn Sie einen der oben genannten Befehle in ein Taskskript aufnehmen, wird davon ausgegangen, dass der Task-Container auch diese Befehle enthält und dass sie sich in path der Container-Umgebung befinden.