Monitorizar execuções de pipeline
Esta página cobre tudo o que acontece depois de uma execução arrancar: encontrá-la, ler o que cada passo fez e pôr uma execução falhada a andar outra vez. Para iniciar uma, consulte Executar um pipeline manualmente.
Encontrar uma execução
Secção intitulada “Encontrar uma execução”- Clique em Pipelines na barra lateral do espaço de trabalho. O ecrã é a fila de execuções do espaço de trabalho — todas as execuções, das mais recentes para as mais antigas.
- Utilize a barra da esquerda para filtrar. Existem exatamente três filtros, cada um com uma contagem em direto: Todos, Running, Failed.
- Percorra a tabela com ↑/↓ (ou j/k) e prima Enter para abrir a execução em foco. Clicar numa linha faz o mesmo.
Cada linha mostra um glifo de como a execução arrancou (play para a execução
manual; um glifo de ficheiro para uma vigilância do grafo de código; caso
contrário, o disparador automático). A dica nomeia o disparador — Manual,
PR publicada, Alteração de ficheiro, e assim por diante — e, no caso de
uma execução de vigilância, que ficheiros mudaram. Depois vêm o nome do
pipeline, um distintivo de estado, a duração ativa (ou a posição na fila, no
caso de uma execução queued) e há quanto tempo esta tentativa arrancou. A
duração ativa exclui os intervalos de inatividade entre paragens e reinícios,
pelo que não é o tempo total decorrido.
Não existe um filtro para execuções concluídas, suspensas ou canceladas, nem um filtro por modelo, nem uma janela temporal, nem uma vista de histórico de execuções por modelo. Comparar execuções de um mesmo modelo obriga a percorrer a fila à procura do respetivo nome.
Ler o detalhe da execução
Secção intitulada “Ler o detalhe da execução”A página de uma execução tem três partes empilhadas.
A faixa de metadados apresenta a hora de início, a duração ativa, o progresso dos passos («3 de 7 etapas»), um resumo da falha que indica o passo que falhou e porquê, e as ações Tentar novamente e Eliminar.
A cascata de tempos dá uma barra por passo, com a respetiva duração e — nos
passos de agente — o respetivo custo em cêntimos. Um passo que sofreu nova
tentativa mostra um sufixo ×N depois da duração; esse sufixo é o único sítio
onde o número de tentativas aparece.
O canvas do grafo desenha o modelo com o estado em direto de cada nó. Selecionar um nó abre o painel do passo.
Estados das execuções e dos passos
Secção intitulada “Estados das execuções e dos passos”| Estado | Significado |
|---|---|
| Pending | Criada, ainda não iniciada |
| Na fila | Admitida mas retida: o limite de execuções em paralelo deste modelo está cheio; ainda não há linhas de passo |
| Running | Em execução |
| Suspended | À espera de algo externo — normal, não está bloqueado |
| Completed | Terminada com êxito |
| Failed | Terminada com um erro |
| Cancelled | Parada por um utilizador ou pelo sistema |
Os passos têm estes estados menos Na fila, mais Skipped, para um ramo que um router não seguiu (e os respetivos descendentes, agora inalcançáveis).
Suspended é o estado onde um passo de agente passa a maior parte da sua
vida: um agente despachado ou um portão de aprovação retém o passo até o
respetivo trabalho ficar concluído. Duas redes de segurança do motor fazem
falhar a execução inteira em vez de a retomarem: um passo suspenso há mais de 24
horas (extras.awaitApproval — o corpo orchestration.awaitApproval — está
isento; human.gate não está) e um passo não idempotente que estava em curso
quando o servidor parou.
Inspecionar um passo
Secção intitulada “Inspecionar um passo”Selecione um nó no canvas. O painel do passo mostra, por ordem:
- Um destaque Erro quando o passo falhou, ou um destaque Ignorado com o motivo quando foi ignorado.
- Iniciado, Concluído e a duração.
- Ramo — o índice do ramo, para ramos paralelos.
- Ver conversa — salta para a conversa em que o passo foi executado. As conversas de pipeline estão ocultas na barra lateral, pelo que este é o único caminho para lá entrar.
- Entrada e Saída, como JSON recolhível.
- Atividade do agente — um cartão por execução de agente que o passo despachou, com o estado, o resumo, a duração e o custo.
Para um passo de agente, a Saída é o payload estruturado que o agente
submeteu com submit_output, e não o seu texto. O rasto de raciocínio vive na
Atividade do agente e na conversa por trás de Ver conversa.
Para um passo bash, a Saída é o stdout aparado que o script escreveu ao sair com o código 0. Uma saída com um código diferente de zero faz falhar o passo, com o fim do stderr como mensagem de erro.
Recuperar uma execução falhada
Secção intitulada “Recuperar uma execução falhada”- Leia o resumo da falha na faixa de metadados; indica o passo que falhou. O destaque Erro do painel do passo tem a mensagem.
- Verifique a Entrada do passo — uma chave de estado em falta ou mal escrita é a causa mais comum. Um passo prompt-agent falha de imediato e nomeia os marcadores não resolvidos; um passo bash substitui-os por cadeias vazias e executa na mesma, o que normalmente só se manifesta um passo depois.
- Para um passo de agente, abra Ver conversa e leia o que o agente fez realmente.
- Prima Tentar novamente na faixa de metadados. Os passos concluídos e ignorados mantêm as respetivas saídas; todo o resto é eliminado e executado de novo, e a execução volta ao estado Running. O relógio da duração recomeça nesta tentativa.
Causas comuns que vale a pena verificar primeiro:
- Tempo limite — o passo excedeu o seu Tempo limite (ms). Lembre-se de que o campo está em milissegundos.
- Erro de script — o comando bash terminou com um código diferente de zero,
ou o
bashnão está noPATHdo anfitrião do servidor. - Validação de esquema — o payload
submit_outputdo agente não satisfez o esquema de saída do passo. - Marcador não resolvido — um
{{key}}referenciado por um passo prompt-agent nunca foi escrito a montante. O erro nomeia todas as chaves não resolvidas. - Corpo não registado — um passo cuja chave de corpo não está registada produz um aviso ao carregar o modelo e depois nunca chega a ser executado.
Parar um passo bloqueado
Secção intitulada “Parar um passo bloqueado”Selecione o passo em execução e prima o botão Encerrar em execução no cabeçalho do painel do passo. Isto mata o processo do passo, marca o passo como falhado e, por conseguinte, faz falhar a execução inteira — todos os ramos irmãos abertos são encerrados com ele.
Não existe nenhum controlo de cancelamento de execução neste ecrã.
pipeline.cancel existe como operação RPC e o motor implementa-a, mas nada na
interface dos pipelines a invoca; Encerrar em execução num passo, ou
Eliminar na execução, são os únicos gestos de paragem disponíveis.
Acompanhar o custo
Secção intitulada “Acompanhar o custo”O custo é indicado por passo, na coluna da direita da cascata e em cada cartão abaixo de Atividade do agente. Não há um total por execução na página de detalhe nem uma coluna de custo na fila de execuções, pelo que comparar o custo de duas execuções implica somar os respetivos passos.
Guias relacionados
Secção intitulada “Guias relacionados”- Executar um pipeline manualmente
- Criar um modelo de pipeline
- Gerir custos
- Tipos de passo de pipeline