Saída, logs e histórico de execuções
Um status verde diz que o script terminou; não diz que ele fez a coisa certa. A resposta está no que o main retornou — a Saída — e, quando algo parece errado, no que ele imprimiu — os Logs. Os dois ficam guardados com cada execução, então dá para voltar a uma execução da semana passada e ler exatamente o que aconteceu.
- Ler a Saída como JSON ou como tabela
- Usar logs para diagnóstico, nunca como resultado
- Encontrar uma execução de novo no Histórico e na página Execuções
Saída é a resposta, logs são a história
A Saída é o valor que o main retornou (em C e C++, o JSON passado para waiso_set_result / waiso::setResult). É o que o próximo passo de um flow recebe, o que quem chama a API recebe de volta e o que a página Execuções guarda. Os Logs são tudo o que o script imprimiu — print, console.log, printf — mais linhas do sistema, como início e fim, cada uma com horário e nível.
Leia a última execução
- Confira a Saída
Rode o
daily-reportde novo e fique em Saída. O resultado aparece como JSON formatado; a barra alterna entre Ver JSON e Ver tabela e oferece Copiar JSON, Baixar JSON e um botão de expandir para resultados longos. A duração ao lado vai do worker pegar o job até o resultado. - Leia os Logs
Abra Logs. Você vê
3 scores, 2 passedentre as linhas do sistema. Filtre por nível ou use Buscar nos logs quando uma execução imprime muito. - Encontre na página Execuções
Clique em Execuções na coluna da esquerda. A sua execução é a primeira linha: daily-report, Disparado por o seu e-mail, a Duração, Executado em e o status Sucesso. Clique na linha: abre uma gaveta com Dados (entradas e saída), Logs e o Código que rodou.
Retorne estrutura, ganhe uma tabela
Retorne dados, não frases. Um objeto ou uma lista de objetos pode ser lido campo a campo por um flow, filtrado na página Execuções e mostrado como tabela. Uma lista de objetos já abre em Ver tabela, com busca, colunas ordenáveis e exportação CSV. Mude o daily-report para retornar uma linha por nota:
export async function main(passing: number = 80) {
const scores = [85, 92, 78]
const rows = scores.map((score, i) => ({ student: i + 1, score, passed: score >= passing }))
console.log(`${rows.filter((r) => r.passed).length} of ${rows.length} passed`)
return rows
}| # |
|---|
Dois lugares para achar uma execução
| O quê | Histórico (editor) | Página Execuções |
|---|---|---|
| Mostra | As execuções deste script | Toda execução do projeto: scripts, flows, scrapers, de qualquer gatilho |
| Melhor para | Voltar a uma execução enquanto edita | Ver o que rodou, quando e por que falhou |
| Ações | Abrir esta execução (código e saída), Restaurar entradas | Filtrar por status, tipo, datas, texto e valores de entrada; abrir a gaveta |
Vendo uma execução antiga
Abrir uma execução pelo Histórico coloca o editor em Vendo histórico: o código mostrado é o que rodou naquela vez, e a Saída é a daquela execução. Voltar pro atual retorna ao seu rascunho. Restaurar entradas copia os valores daquela execução para o cartão Entradas, o jeito mais rápido de reproduzir uma falha.