Мониторить запуски конвейеров
Эта страница — обо всём, что происходит после старта запуска: как его найти, как прочитать, что делал каждый шаг, и как снова сдвинуть с места сбойный запуск. О том, как запустить конвейер, см. Запустить конвейер вручную.
Найти запуск
Заголовок раздела «Найти запуск»- Нажмите Конвейеры в боковой панели рабочего пространства. Этот экран — очередь запусков рабочего пространства: все запуски, сначала самые новые.
- Фильтруйте через левую панель. Фильтров ровно три, у каждого — живой счётчик: Все, Выполняется, Ошибка.
- Перемещайтесь по таблице клавишами ↑/↓ (или j/k) и нажмите Enter, чтобы открыть выбранный запуск. Щелчок по строке делает то же самое.
В каждой строке есть значок того, как запуск начался (воспроизведение — для ручного;
значок файла — для наблюдения за графом кода; иначе — автоматический триггер). Во
всплывающей подсказке указан триггер — Вручную, PR опубликован,
Изменение файла и так далее, — а для запуска по наблюдению ещё и какие файлы
изменились. Дальше идут название конвейера, значок состояния, активная длительность
(или позиция в очереди для запуска в состоянии queued) и сколько времени прошло с
начала этой попытки. Активная длительность не учитывает простои на остановку и
перезапуск, поэтому это не всё время по часам.
Фильтра для завершённых, приостановленных или отменённых запусков нет; нет фильтра по шаблону, нет временного окна и нет представления с историей запусков отдельного шаблона. Чтобы сравнить запуски одного шаблона, приходится искать его название глазами по всей очереди.
Прочитать сведения о запуске
Заголовок раздела «Прочитать сведения о запуске»Страница запуска состоит из трёх частей, идущих одна под другой.
Строка метаданных содержит время начала, активную длительность, прогресс по шагам («3 из 7 шагов»), сводку о сбое с названием сломавшегося шага и его причиной, а также действия Повторить и Удалить.
Хронологическая диаграмма показывает по одной полосе на шаг, с его длительностью
и — для шагов агентов — стоимостью в центах. У шага, который повторяли, после
длительности стоит суффикс ×N; это единственное место, где видны счётчики попыток.
Холст графа рисует шаблон с текущим состоянием каждого узла. Если выбрать узел, откроется его панель шага.
Состояния запусков и шагов
Заголовок раздела «Состояния запусков и шагов»| Состояние | Значение |
|---|---|
| Ожидание | Создан, ещё не начат |
| В очереди | Допущен, но удерживается: лимит параллельных запусков этого шаблона исчерпан; строк шагов ещё нет |
| Выполняется | Выполняется |
| Приостановлен | Ждёт чего-то внешнего — это нормально, а не зависание |
| Завершён | Успешно завершён |
| Ошибка | Завершился с ошибкой |
| Отменён | Остановлен пользователем или системой |
У шагов есть те же состояния, кроме В очереди, плюс Пропущен — для ветки, по которой не пошёл маршрутизатор (и её теперь недостижимых потомков).
Приостановлен — состояние, в котором шаг агента проводит большую часть жизни:
отправленный в работу агент или шлюз подтверждения удерживает шаг, пока его работа
не завершится. Две страховки движка проваливают весь запуск, а не возобновляют его:
шаг, приостановленный дольше 24 часов (extras.awaitApproval — тело
orchestration.awaitApproval — исключение; human.gate — нет), и неидемпотентный
шаг, который выполнялся, когда сервер остановился.
Изучить шаг
Заголовок раздела «Изучить шаг»Выберите узел на холсте. Панель шага показывает по порядку:
- Врезку Ошибка, если шаг завершился с ошибкой, или врезку Пропущен с причиной, если шаг был пропущен.
- Начато, Завершено и длительность.
- Ветка — индекс ветки, для параллельных ветвей.
- Открыть диалог — переход к разговору, в котором выполнялся шаг. Разговоры конвейеров скрыты из боковой панели, поэтому это единственный способ туда попасть.
- Вход и Выход в виде сворачиваемого JSON.
- Активность агента — по одной плитке на каждый запуск агента, отправленный этим шагом, с состоянием, сводкой, длительностью и стоимостью.
Для шага агента Выход — это структурированный payload, который агент отправил
через submit_output, а не его текст. Трассировка рассуждений находится в
Активности агента и в разговоре, который открывается по Открыть диалог.
Для шага bash Выход — это обрезанный stdout, который скрипт записал при завершении с кодом 0. Завершение с ненулевым кодом проваливает шаг, а сообщением об ошибке становится хвост stderr.
Восстановить сбойный запуск
Заголовок раздела «Восстановить сбойный запуск»- Прочитайте сводку о сбое в строке метаданных: в ней назван сбойный шаг. Сообщение есть во врезке Ошибка на панели шага.
- Проверьте Вход шага: чаще всего причина в отсутствующем или неправильно написанном ключе состояния. Шаг агента с промптом сразу завершается сбоем и называет неразрешённые заполнители; шаг bash подставляет на их место пустые строки и всё равно выполняется, и это обычно всплывает на следующем шаге.
- Для шага агента откройте Открыть диалог и посмотрите, что агент на самом деле сделал.
- Нажмите Повторить в строке метаданных. Завершённые и пропущенные шаги сохраняют свои выходы; всё остальное удаляется и выполняется заново, а запуск снова переходит в состояние «выполняется». Отсчёт длительности начинается заново для этой попытки.
Частые причины, которые стоит проверить в первую очередь:
- Таймаут — шаг превысил свой Таймаут (мс). Помните, что значение поля задаётся в миллисекундах.
- Ошибка скрипта — команда bash завершилась с ненулевым кодом или
bashотсутствует вPATHна хосте сервера. - Проверка схемы — payload
submit_outputагента не соответствует схеме выхода шага. - Неразрешённый заполнитель —
{{key}}, на который ссылался шаг агента с промптом, так и не был записан выше по графу. Ошибка перечисляет все неразрешённые ключи. - Незарегистрированное тело — шаг, чей ключ тела не зарегистрирован, выдаёт предупреждение при загрузке шаблона и затем просто никогда не выполняется.
Остановить зависший шаг
Заголовок раздела «Остановить зависший шаг»Выберите выполняющийся шаг и нажмите кнопку Прервать выполнение в заголовке панели шага. Она убивает процесс шага, помечает шаг как сбойный и тем самым проваливает весь запуск — вместе с ним закрываются все открытые соседние ветви.
На этом экране нет элемента управления для отмены запуска. pipeline.cancel
существует как RPC-операция, и движок её реализует, но ничто в интерфейсе конвейеров
её не вызывает; Прервать выполнение на шаге или Удалить на запуске —
единственные доступные способы остановки.
Отслеживать стоимость
Заголовок раздела «Отслеживать стоимость»Стоимость показывается по шагам: в правом столбце хронологической диаграммы и на каждой плитке в разделе Активность агента. На странице сведений нет итога по запуску, а в очереди запусков нет столбца стоимости, поэтому, чтобы сравнить стоимость двух запусков, придётся сложить их шаги.