Přeskočit na obsah

Sledujte běhy pipeline

Po startu běhu se všechno děje tady: najdeš ho, přečteš, co který krok udělal, a spadlý běh znovu rozjedeš. Spuštění popisuje Spusťte pipeline ručně.

  1. Klikni na Pipelines v postranním panelu pracovního prostoru. Obrazovka je fronta běhů pracovního prostoru: každý běh, nejnovější první.
  2. Filtruj levou lištou. Filtry jsou přesně tři a každý má aktuální počet: Vše, Běží, Selhalo.
  3. Tabulku procházej pomocí ↑/↓ (nebo j/k) a Enter otevře zaměřený běh. Kliknutí na řádek udělá totéž.

Každý řádek ukáže glyf toho, jak běh začal (play u ručního spuštění, glyf souboru u sledování grafu kódu, jinak automatický spouštěč). Tooltip pojmenuje spouštěč — Ručně, PR zveřejněn, Změna souboru a podobně — a u běhu ze sledování přidá, které soubory se změnily. Pak je na řádku název pipeline, odznak stavu, aktivní doba (nebo pozice ve frontě u běhu queued) a jak je to dlouho, co tenhle pokus začal. Aktivní doba vynechává nečinné mezery mezi zastavením a novým startem a počítá jen čas, kdy běh pracoval.

Pro dokončené, pozastavené a zrušené běhy filtr není. Není tu ani filtr podle šablony, časové okno ani pohled na historii běhů jedné šablony. Běhy jedné šablony porovnáš tak, že ve frontě hledáš její název.

Stránka běhu má tři části nad sebou.

Pruh metadat nese čas startu, aktivní dobu, postup kroků („3 z 7 kroků“), souhrn selhání (který krok selhal a proč) a akce Zopakovat a Smazat.

Časový vodopád dává jeden pruh na krok, s jeho dobou a u kroků agenta i s náklady v centech. Krok, který se opakoval, ukáže za dobou příponu ×N. Tahle přípona je jediné místo, kde se počty pokusů objeví.

Plátno grafu vykreslí šablonu se živým stavem každého uzlu. Výběr uzlu otevře jeho panel kroku.

Stav Význam
Čeká Vytvořený, ještě nespustěný
Ve frontě Přijatý, ale držený: strop Max. souběžných běhů téhle šablony je plný; řádky kroků ještě nejsou
Běží Provádí se
Pozastaveno Čeká na něco vnějšího. Běžný stav čekání, ne zaseknutý běh
Dokončeno Skončil úspěšně
Selhalo Skončil chybou
Zrušeno Zastavil ho uživatel nebo systém

Kroky mají tyhle stavy bez Ve frontě a navíc Přeskočeno pro větev, kterou router nezvolil, a pro potomky, kteří jsou teď nedosažitelní.

Pozastaveno je stav, ve kterém krok agenta stráví většinu času: odeslaný agent nebo brána schválení drží krok, dokud práce nedorazí. Dvě pojistky enginu nechají spadnout celý běh, místo aby ho obnovily: krok pozastavený déle než 24 hodin (extras.awaitApproval — tělo orchestration.awaitApproval — má výjimku; human.gate ji nemá) a neidempotentní krok, který byl v půli provádění, když se server zastavil.

Vyber uzel na plátně. Panel kroku ukáže, v tomhle pořadí:

  • Blok Chyba, když krok selhal, nebo blok Přeskočeno s důvodem, když byl přeskočený.
  • Spuštěno, Dokončeno a trvání.
  • Větev — index větve u paralelních větví.
  • Zobrazit konverzaci — skočí do konverzace, ve které krok běžel. Konverzace pipeline se v postranním panelu neukazují, takže tudy vede jediná cesta dovnitř.
  • Vstup a Výstup jako sbalitelné JSON.
  • Aktivita agenta — jedna dlaždice na každý běh agenta, který krok odeslal, se stavem, souhrnem, dobou a náklady.

U kroku agenta je Výstup strukturovaný payload, který agent odeslal přes submit_output, ne jeho text. Stopa uvažování je v části Aktivita agenta a v konverzaci za Zobrazit konverzaci.

U bash kroku je Výstup oříznutý stdout, který skript zapsal při ukončení s kódem 0. Nenulové ukončení nechá krok selhat a jako chybovou zprávu dá konec stderr.

Rozjeď znovu spadlý běh

Sekce “Rozjeď znovu spadlý běh”
  1. Přečti souhrn selhání v pruhu metadat; jmenuje krok, který selhal. Blok Chyba v panelu kroku má zprávu.
  2. Zkontroluj Vstup kroku. Nejběžnější příčina je chybějící nebo špatně napsaný klíč stavu. Krok prompt-agenta selže rovnou a vyjmenuje nevyřešené zástupné symboly; bash krok je dosadí jako prázdné řetězce a stejně se spustí, což se obvykle ukáže o krok později.
  3. U kroku agenta otevři Zobrazit konverzaci a přečti, co agent skutečně udělal.
  4. V pruhu metadat stiskni Zopakovat. Kroky ve stavu Dokončeno a Přeskočeno si nechají výstupy; ostatní se smažou a spustí znovu. Běh se vrátí do Běží a měření doby se pro tenhle pokus spustí znovu.

Nejčastější příčiny, které stojí za kontrolu jako první:

  • Časový limit — krok překročil své pole Časový limit (ms). Pole je v milisekundách.
  • Chyba skriptu — příkaz bash skončil nenulovým kódem, nebo bash není na PATH hostitele serveru.
  • Ověření schématu — payload submit_output od agenta nesplnil výstupní schéma kroku.
  • Nevyřešený zástupný symbol — {{key}}, na který se krok prompt-agenta odkazoval, nikdo výše v toku nezapsal. Chyba vyjmenuje každý nevyřešený klíč.
  • Neregistrované tělo — krok, jehož klíč těla není registrovaný, při načtení šablony varuje a pak se prostě nikdy nespustí.

Vyber běžící krok a v záhlaví panelu kroku stiskni Ukončit běžící. Tím se zabije proces kroku, krok se označí jako selhaný a spadne celý běh. Každá otevřená sourozenecká větev se uzavře s ním.

Tahle obrazovka zrušení běhu nenabízí. pipeline.cancel existuje jako operace RPC a engine ji implementuje, ale rozhraní Pipelines ji nikde nevolá. Ukončit běžící u kroku a Smazat u běhu jsou jediné dostupné způsoby, jak běh zastavit.

Náklady se uvádějí po krocích, v pravém sloupci vodopádu a na každé dlaždici pod Aktivita agenta. Na stránce detailu není součet za celý běh a ve frontě běhů není sloupec nákladů, takže porovnání nákladů dvou běhů znamená sečíst jejich kroky.