Pipeline-Läufe überwachen
Diese Seite gilt für alles, nachdem ein Lauf gestartet ist: ihn finden, lesen, was jeder Schritt getan hat, und einen fehlgeschlagenen Lauf wieder in Gang bringen. Zum Starten siehe Eine Pipeline manuell ausführen.
Einen Lauf finden
Abschnitt betitelt „Einen Lauf finden“- Klicke in der Seitenleiste des Arbeitsbereichs auf Pipelines. Der Bildschirm ist die Warteschlange der Läufe dieses Arbeitsbereichs — jeder Lauf, der neueste zuerst.
- Filtere über die linke Leiste. Es gibt genau drei Filter, jeder mit einer mitlaufenden Anzahl: Alle, Running, Failed.
- Geh die Tabelle mit ↑/↓ (oder j/k) durch und drücke Enter, um den fokussierten Lauf zu öffnen. Ein Klick auf die Zeile tut dasselbe.
Jede Zeile zeigt ein Symbol dafür, wie der Lauf gestartet wurde (Play bei
manuell, ein Dateisymbol bei einer Code-Graph-Beobachtung, sonst der
automatische Auslöser). Der Tooltip nennt den Auslöser — Manuell, PR
veröffentlicht, Dateiänderung und so weiter — und bei einem
Beobachtungslauf, welche Dateien sich geändert haben. Danach kommen der Name
der Pipeline, ein Status-Badge, die aktive Dauer (oder die Position in der
Warteschlange bei einem queued-Lauf) und wie lange dieser Versuch her ist.
Die aktive Dauer lässt Pausen zwischen Stopp und Neustart aus. Sie ist nicht
die verstrichene Echtzeit.
Einen Filter für abgeschlossene, ausgesetzte oder abgebrochene Läufe gibt es nicht, auch keinen je Vorlage, kein Zeitfenster und keine Verlaufsansicht je Vorlage. Läufe einer Vorlage vergleichst du, indem du die Warteschlange nach ihrem Namen absuchst.
Die Laufdetails lesen
Abschnitt betitelt „Die Laufdetails lesen“Die Seite eines Laufs hat drei übereinanderliegende Teile.
Die Metaleiste trägt die Startzeit, die aktive Dauer, den Schrittfortschritt („3 von 7 Schritten“), eine Fehlerzusammenfassung, die den gescheiterten Schritt und den Grund nennt, sowie die Aktionen Erneut versuchen und Löschen.
Der Zeit-Wasserfall zeigt einen Balken je Schritt, mit seiner Dauer und —
bei Agenten-Schritten — den Kosten in Cent. Ein wiederholter Schritt zeigt nach
der Dauer das Suffix ×N. Nur dort siehst du, wie viele Versuche es gab.
Die Graph-Zeichenfläche zeichnet die Vorlage mit dem aktuellen Status jedes Knotens. Ein ausgewählter Knoten öffnet sein Schrittpanel.
Status von Lauf und Schritt
Abschnitt betitelt „Status von Lauf und Schritt“| Status | Bedeutung |
|---|---|
| Pending | Angelegt, noch nicht gestartet |
| In Warteschlange | Aufgenommen, aber zurückgehalten: das Limit für max. parallele Läufe dieser Vorlage ist voll; noch keine Schrittzeilen |
| Running | Wird ausgeführt |
| Suspended | Wartet auf etwas von außen — normal, der Schritt hängt nicht |
| Completed | Erfolgreich beendet |
| Failed | Mit einem Fehler beendet |
| Cancelled | Von einem Nutzer oder vom System gestoppt |
Schritte haben diese Status ohne In Warteschlange, plus Skipped für einen Zweig, den ein Router nicht genommen hat (und seine nun unerreichbaren Nachfahren).
Suspended ist der Status, in dem ein Agenten-Schritt die meiste Zeit
verbringt: ein losgeschickter Agent oder ein Freigabetor hält den Schritt, bis
die Arbeit ankommt. Zwei Sicherungen der Engine lassen den ganzen Lauf
scheitern, statt ihn fortzusetzen: ein Schritt, der länger als 24 Stunden
suspended war (extras.awaitApproval — der Body orchestration.awaitApproval
— ist ausgenommen; human.gate nicht) und ein nicht idempotenter Schritt, der
mitten in der Ausführung war, als der Server anhielt.
Einen Schritt untersuchen
Abschnitt betitelt „Einen Schritt untersuchen“Wähle einen Knoten auf der Zeichenfläche. Das Schrittpanel zeigt der Reihe nach:
- einen Hinweis Fehler, wenn der Schritt gescheitert ist, oder einen Hinweis Übersprungen mit dem Grund, wenn er übersprungen wurde.
- Gestartet, Abgeschlossen und die Dauer.
- Branch — der Zweigindex, bei parallelen Zweigen.
- Unterhaltung anzeigen — springt in die Unterhaltung, in der der Schritt gelaufen ist. Pipeline-Unterhaltungen sind in der Seitenleiste ausgeblendet. Das ist der einzige Weg hinein.
- Eingabe und Ausgabe, als einklappbares JSON.
- Agent-Aktivität — eine Kachel je Agentenlauf, den der Schritt losgeschickt hat, mit Status, Zusammenfassung, Dauer und Kosten.
Bei einem Agenten-Schritt ist Ausgabe die strukturierte Nutzlast, die der
Agent mit submit_output abgegeben hat, sein Fließtext steht dort nicht. Die
Reasoning-Spur liegt in Agent-Aktivität und in der Unterhaltung hinter
Unterhaltung anzeigen.
Bei einem Bash-Schritt ist Ausgabe der gekürzte stdout, den das Skript bei Exit 0 geschrieben hat. Ein Exit ungleich null lässt den Schritt scheitern, mit dem Ende von stderr als Fehlermeldung.
Einen fehlgeschlagenen Lauf wiederherstellen
Abschnitt betitelt „Einen fehlgeschlagenen Lauf wiederherstellen“- Lies die Fehlerzusammenfassung in der Metaleiste. Sie nennt den gescheiterten Schritt. Der Hinweis Fehler im Schrittpanel hat die Meldung.
- Prüfe die Eingabe des Schritts — ein fehlender oder falsch geschriebener Zustandsschlüssel ist die häufigste Ursache. Ein Prompt-Agenten-Schritt scheitert sofort und nennt die ungelösten Platzhalter. Ein Bash-Schritt setzt sie als leere Zeichenketten ein und läuft trotzdem, was sich meist erst einen Schritt später zeigt.
- Bei einem Agenten-Schritt öffne Unterhaltung anzeigen und lies, was der Agent tatsächlich getan hat.
- Drücke Erneut versuchen in der Metaleiste. Schritte mit dem Status Completed oder Skipped behalten ihre Ausgaben. Alles andere wird gelöscht und neu ausgeführt, und der Lauf springt zurück auf Running. Die Dauer wird für diesen Versuch neu gezählt.
Ursachen, die du zuerst prüfen solltest:
- Zeitlimit — der Schritt hat sein Zeitlimit (ms) überschritten. Das Feld rechnet in Millisekunden.
- Skriptfehler — der Bash-Befehl ist mit einem Exit ungleich null beendet,
oder
bashliegt nicht auf demPATHdes Server-Hosts. - Schema-Validierung — die Nutzlast, die der Agent mit
submit_outputabgegeben hat, erfüllt das Ausgabeschema des Schritts nicht. - Ungelöster Platzhalter — ein
{{key}}, den ein Prompt-Agenten-Schritt verwendet hat, wurde vorgelagert nie geschrieben. Der Fehler nennt jeden ungelösten Schlüssel. - Nicht registrierter Body — ein Schritt, dessen Body-Schlüssel nicht registriert ist, warnt beim Laden der Vorlage und wird danach einfach nie ausgeführt.
Einen hängenden Schritt anhalten
Abschnitt betitelt „Einen hängenden Schritt anhalten“Wähle den laufenden Schritt und drücke in der Kopfzeile des Schritpanels auf Laufenden beenden. Das beendet den Prozess des Schritts, setzt den Schritt auf Failed und lässt damit den ganzen Lauf scheitern — jeder offene Geschwisterzweig wird mit ihm abgeschlossen.
Eine Steuerung, die den ganzen Lauf abbricht, gibt es auf diesem Bildschirm
nicht. pipeline.cancel gibt es als RPC-Operation, und die Engine setzt sie
um, aber die Pipeline-Oberfläche ruft sie nirgends auf. Laufenden beenden
an einem Schritt und Löschen am Lauf sind die einzigen Wege, etwas
anzuhalten.
Kosten verfolgen
Abschnitt betitelt „Kosten verfolgen“Die Kosten stehen je Schritt: in der rechten Spalte des Wasserfalls und auf jeder Kachel unter Agent-Aktivität. Eine Summe für den Lauf gibt es auf der Detailseite nicht, und in der Warteschlange der Läufe keine Kostenspalte. Die Kosten zweier Läufe vergleichst du, indem du ihre Schritte addierst.
Verwandte Anleitungen
Abschnitt betitelt „Verwandte Anleitungen“- Eine Pipeline manuell ausführen
- Eine Pipeline-Vorlage erstellen
- Kosten verwalten
- Pipeline-Schrittarten