FlowsGuia

Passos em sequência

O flow mais simples é uma linha reta: cada passo começa quando o de cima termina e pode usar tudo o que os passos acima devolveram. Esta página monta um — calcular, depois formatar, depois informar — e mostra tudo o que uma execução registra sobre cada passo.

O que você vai aprender
  • Encadear passos e passar cada resultado ao seguinte
  • Ler o status, a duração e as marcas de espera e de inicialização a frio de um passo
  • Encontrar entradas, saída, bindings, logs e código de um passo numa execução
  • Saber o que acontece com os passos abaixo de um que falha

Um passo depois do outro

Passos na mesma linha rodam em ordem, de cima para baixo, um de cada vez. A saída de um passo — o valor que um script devolve, as linhas de uma consulta — fica guardada até o fim da execução, então o terceiro passo lê a saída do primeiro tão fácil quanto a do segundo. Nada é compartilhado de outro jeito: passos não veem as variáveis nem os arquivos uns dos outros, só os valores que você liga.

Cada passo fica verde com a duração antes de o próximo começar.

Cada passo roda no próprio sandbox, na própria linguagem — um passo Python pode alimentar um passo TypeScript que alimenta um passo C. Os valores passam entre eles como JSON, então uma saída deve ser algo que o JSON guarde: objetos, listas, texto, números, booleanos, null.

Monte uma cadeia de três passos

  1. Declare a entrada

    Clique em Início e adicione um parâmetro Número subtotal. É com ele que uma execução começa.

  2. Adicione o primeiro passo

    Clique no + abaixo do Início, escolha uma linguagem e dê ao passo o rótulo Add tax. Use o código abaixo e ligue subtotal com From node → Início → subtotal.

  3. Encadeie os próximos

    Adicione um segundo passo abaixo que recebe total (ligado a Add tax → total) e devolve uma linha formatada, e depois um terceiro que envia ou guarda essa linha. Cada + da linha insere um passo exatamente ali.

  4. Execute

    Clique em Executar Flow, preencha subtotal e inicie. O canvas acompanha a execução ao vivo.

add_tax.py
def main(subtotal: float, rate: float = 0.1):
    tax = round(subtotal * rate, 2)
    print(f"tax on {subtotal}: {tax}")
    return {"subtotal": subtotal, "tax": tax, "total": round(subtotal + tax, 2)}
Saída esperadaSucessoA saída de Add tax para subtotal = 200
{
  "subtotal": 200,
  "tax": 20,
  "total": 220
}

O que uma execução mostra de cada passo

Enquanto uma execução está no canvas, cada passo mostra o resultado: rodando, concluído (verde), falhou (vermelho), ignorado (tracejado) ou servido do cache. Abaixo do nome fica a duração do passo — o tempo em que o próprio código rodou — e duas marcas pequenas quando se aplicam: esperou, o tempo na fila por um worker livre, e inicialização a frio, o tempo que um interpretador novo levou para iniciar. Nenhuma das duas entra na duração, então um passo lento e um passo que esperou se distinguem de relance.

A Linha do tempo: uma barra por passo, a espera desenhada separada da execução.

O detalhe de um passo na execução

Clique num passo de uma execução para abrir o detalhe no painel lateral:

AbaO que mostra
DadosO que entrou e o que saiu: as entradas que o passo recebeu e a saída dele.
BindingsDe onde cada entrada tirou o valor — qual passo e caminho, qual expressão, qual variável.
LogsO que o passo imprimiu, em ordem.
CódigoO código que esta execução rodou — mesmo que o passo tenha sido editado depois.

A aba Execução do flow mostra a execução inteira — o progresso, as entradas e o resultado, e uma aba Linha do tempo com todos os passos num eixo de tempo. Execuções lista todas as execuções do flow; escolha uma para colocá-la de volta no canvas.

Quando um passo falha

Um passo que falha para a linha: os passos abaixo dele não rodam, a execução termina como Falhou, e uma faixa acima das abas da execução indica o passo e a primeira linha do erro, com Copiar erro. Se o flow tem um passo Em caso de erro, ele roda uma vez, e as regras de alerta do projeto disparam.

Duas configurações de execução mudam isso por passo: novas tentativas roda o passo de novo antes de desistir, e continuar em caso de erro deixa o flow seguir — o passo então mostra Falhou · o flow seguiu em âmbar, e os passos abaixo rodam.

  • A barra de progresso da execução é dividida por resultado — prontos, com falha, ignorados — contra o número de passos do flow, então até onde a execução chegou se lê sem abrir nada.
  • Um erro de script traz os frames: clique num frame para ir até aquela linha no código do passo (erros de script).

Limites

  • Uma execução inteira é limitada pelo tempo do flow — 30 minutos por padrão; um passo pode ter um limite próprio menor.
  • Passos de script rodam sem acesso à rede, como todo script.
  • Um passo só lê saídas de passos que rodaram antes dele nesta execução; ler um passo posterior ou ignorado faz o binding falhar.