O bloco Parallel é um container que executa múltiplas instâncias concorrentemente para processamento mais rápido de workflows. Processe itens simultaneamente em vez de sequencialmente.
Blocos Parallel são nós de container que executam seu conteúdo múltiplas vezes simultaneamente, diferente dos loops que executam sequencialmente.
Opções de Configuração
Tipo de Parallel
Escolha entre dois tipos de execução paralela:
Parallel Baseado em Contagem - Execute um número fixo de instâncias paralelas:

Use quando você precisa executar a mesma operação múltiplas vezes concorrentemente.
Exemplo: Executar 5 instâncias paralelas
- Instância 1 ┐
- Instância 2 ├─ Todas executam simultaneamente
- Instância 3 │
- Instância 4 │
- Instância 5 ┘Parallel Baseado em Coleção - Distribua uma coleção entre instâncias paralelas:

Cada instância processa um item da coleção simultaneamente.
Exemplo: Processe ["tarefa1", "tarefa2", "tarefa3"] em paralelo
- Instância 1: Processe "tarefa1" ┐
- Instância 2: Processe "tarefa2" ├─ Todas executam simultaneamente
- Instância 3: Processe "tarefa3" ┘Como Usar Blocos Parallel
Criando um Bloco Parallel
- Arraste um bloco Parallel da barra de ferramentas para o canvas
- Configure o tipo de parallel e parâmetros
- Arraste um único bloco para dentro do container parallel
- Conecte o bloco conforme necessário
Acessando Resultados
Após um bloco parallel completar, você pode acessar resultados agregados:
<parallel.results>: Array de resultados de todas as instâncias paralelas
Exemplos de Uso
Processamento de API em Lote - Processa múltiplas chamadas de API simultaneamente
Parallel (Collection) → API (Chamar Endpoint) → Function (Agregar)Processamento Multi-Modelo de IA - Obtém respostas de múltiplos modelos de IA concorrentemente
Parallel (["gpt-4o", "claude-3.7-sonnet", "gemini-2.5-pro"]) → Agent → Evaluator (Selecionar Melhor)Recursos Avançados
Agregação de Resultados
Resultados de todas as instâncias paralelas são coletados automaticamente:
// Em um bloco Function após o parallel
const allResults = input.parallel.results;
// Retorna: [result1, result2, result3, ...]Isolamento de Instâncias
Cada instância paralela roda independentemente:
- Escopos de variáveis separados
- Sem estado compartilhado entre instâncias
- Falhas em uma instância não afetam as outras
Limitações
Blocos de container (Loops e Parallels) não podem ser aninhados um dentro do outro. Isso significa:
- Você não pode colocar um bloco Loop dentro de um bloco Parallel
- Você não pode colocar outro bloco Parallel dentro de um bloco Parallel
- Você não pode colocar nenhum bloco de container dentro de outro bloco de container
Embora a execução paralela seja mais rápida, fique atento a:
- Limites de taxa de API ao fazer requisições concorrentes
- Uso de memória com grandes conjuntos de dados
- Máximo de 20 instâncias concorrentes para prevenir esgotamento de recursos
Parallel vs Loop
Entendendo quando usar cada um:
| Característica | Parallel | Loop |
|---|---|---|
| Execução | Concorrente | Sequencial |
| Velocidade | Mais rápido para operações independentes | Mais lento mas ordenado |
| Ordem | Sem ordem garantida | Mantém a ordem |
| Caso de uso | Operações independentes | Operações dependentes |
| Uso de recursos | Maior | Menor |
Inputs e Outputs
Tipo de Parallel: Escolha entre 'count' ou 'collection'
Contagem: Número de instâncias a executar (baseado em contagem)
Coleção: Array ou objeto a distribuir (baseado em coleção)
parallel.currentItem: Item para esta instância
parallel.index: Número da instância (baseado em 0)
parallel.items: Coleção completa (baseado em coleção)
parallel.results: Array com todos os resultados de instância
Acesso: Disponível em blocos após o parallel
Boas Práticas
- Apenas operações independentes: Garanta que as operações não dependam umas das outras
- Lide com limites de taxa: Adicione atrasos ou throttling para workflows pesados em API
- Tratamento de erros: Cada instância deve tratar seus próprios erros com elegância