FlowsGuia

Ramos em paralelo

Um nó Ramos em paralelo inicia dois ou mais ramos com nome ao mesmo tempo e espera todos terminarem. O passo seguinte lê o resultado de cada ramo pelo nome do ramo — assim um flow grava no banco, envia um e-mail e chama uma API ao mesmo tempo, e ainda sabe de onde veio cada resultado.

O que você vai aprender
  • Adicionar um nó Ramos em paralelo e colocar passos em cada ramo
  • Ler o resultado de cada ramo como output["Nome do ramo"]
  • Decidir o que acontece quando um ramo falha, com Pode falhar
  • Rodar os ramos um de cada vez quando a ordem importa

Como funciona um nó em paralelo

Um flow normalmente roda um passo depois do outro. Um nó Ramos em paralelo divide o caminho: todos os ramos abaixo do nó começam no mesmo instante, cada ramo roda os próprios passos de cima para baixo, e o nó termina quando o último ramo termina. O passo abaixo da junção do nó roda uma vez, depois de todos.

Três ramos começam juntos; a junção espera o mais lento.

Os ramos têm nomes, e os nomes importam: a saída do nó é um objeto com uma entrada por ramo, pelo nome, com a saída do último passo daquele ramo. Três ramos que esperam dois segundos cada levam cerca de dois segundos juntos, não seis — a duração do nó fica perto da do ramo mais lento.

Como montar

  1. Adicione o nó

    Clique no + entre dois passos no canvas e escolha Ramos em paralelo. O nó chega com dois ramos, Ramo 1 e Ramo 2.

  2. Dê nomes aos ramos

    No painel lateral, digite um nome para cada ramo. Adicione mais com Adicionar ramo, arraste uma linha pela alça para reordenar e remova com X — um nó sempre fica com pelo menos dois. Os nomes perdem espaços nas pontas, têm de 1 a 80 caracteres e não se repetem, ignorando maiúsculas.

  3. Preencha cada ramo

    Cada coluna abaixo do nó é um ramo. Use o + abaixo do nome do ramo para adicionar passos a ele — scripts, SQL, HTTP, e-mail, tudo que um flow aceita, menos uma etapa de Aprovação.

  4. Continue depois da junção

    O passo abaixo da junção roda quando todos os ramos terminam. Vincule as entradas dele aos resultados dos ramos (próxima seção).

Use o resultado de cada ramo

Num passo seguinte, vincule uma entrada à saída do nó em paralelo e escolha o ramo pelo nome. O vínculo lê output["Nome do ramo"]; o seletor Do nó lista os nomes dos ramos mesmo antes da primeira execução. Um ramo cujo último passo não devolveu nada vale null.

Saída esperadaSucessoA saída do nó: uma entrada por ramo
{
  "Invoice": {
    "id": "INV-1042",
    "total": 129.9
  },
  "Customer": {
    "name": "Ana Souza",
    "tier": "gold"
  },
  "Notify": null
}

Renomear um ramo no painel lateral reescreve os vínculos que o leem, então um passo seguinte nunca aponta para um nome que não existe mais.

Quando um ramo falha

Se um ramo falha, os outros terminam o que estão fazendo; depois o nó falha e o erro indica o ramo (branch "Fatura": …). Quando vários falham, o primeiro na ordem dos ramos é o informado. O flow segue as regras de sempre: o passo Em caso de erro roda e os alertas disparam.

Ramos que podem falhar

Ative Pode falhar num ramo cuja falha não deve parar o flow — uma notificação, uma gravação de cache sem garantia. Esse ramo ainda mostra o erro no canvas e na execução, a entrada dele na saída fica null e o nó termina com sucesso. Novas tentativas e Continuar em caso de erro das configurações de execução funcionam dentro de um ramo como em qualquer outro lugar.

Um ramo de cada vez

Rodar um ramo de cada vez mantém os nomes e a saída, mas roda os ramos na ordem mostrada, um depois do outro. Use quando os ramos compartilham algo que não pode ser usado duas vezes ao mesmo tempo — uma chave de API com limite rígido, um arquivo que os dois gravam. Um ramo que falha (e não pode falhar) interrompe os seguintes; eles ficam marcados como pulados.

ConfiguraçãoOs ramos começamUm ramo que falha
Juntos (padrão)Todos ao mesmo tempoOs outros terminam, depois o nó falha
Rodar um ramo de cada vezNa ordem mostradaOs ramos seguintes são pulados
Um ramo com Pode falharComo o nó defineA entrada fica null, o nó termina com sucesso

Acompanhe a execução

Numa execução, cada ramo mostra o próprio status e tempo no canvas, e o painel da execução lista os ramos com os deles. A aba Linha do tempo dá a cada ramo a própria faixa: barras sobrepostas são ramos que rodaram juntos.

Limites e regras

  • Pelo menos dois ramos por nó. Um nó com menos é recusado na publicação e na execução (parallel_branches_min).
  • Todo ramo precisa de um nome único (parallel_branch_name) e, para publicar, de pelo menos um passo (parallel_branch_empty).
  • Ramos podem conter loops, condições e outros nós em paralelo.