Pular para o conteúdo principal
O bloco Paralelo é um bloco contenedor no Aurora Workflow que permite executar múltiplas instâncias de blocos simultaneamente para um processamento mais rápido do fluxo de trabalho.
API
O bloco Paralelo suporta dois tipos de execução concorrente:
Os blocos Paralelos são nós contenedores que executam seu conteúdo múltiplas vezes simultaneamente, diferentemente dos loops que executam sequencialmente.

Visão Geral

O bloco Paralelo permite:
1
Distribuir trabalho: Processar múltiplos elementos concorrentemente
2
Acelerar a execução: Executar operações independentes simultaneamente
3
Lidar com operações massivas: Processar grandes conjuntos de dados eficientemente
4
Agregar resultados: Coletar saídas de todas as execuções paralelas

Opções de configuração

Tipo de paralelo

Escolha entre dois tipos de execução paralela:
  • Count-based
  • Collection-based
Paralelo baseado em contagem - Executa um número fixo de instâncias paralelas:
Use quando precisar executar a mesma operação múltiplas vezes concorrentemente.
Example: Run 5 parallel instances
- Instance 1 ┐
- Instance 2 ├─ All execute simultaneously
- Instance 3 │
- Instance 4 │
- Instance 5 ┘

Como usar blocos paralelos

Criação de um bloco paralelo

  1. Arraste um bloco Paralelo da barra de ferramentas para seu canvas
  2. Configure o tipo de paralelo e os parâmetros
  3. Arraste um único bloco dentro do contenedor paralelo
  4. Conecte o bloco conforme necessário

Acesso aos resultados

Depois que um bloco paralelo é concluído, você pode acessar os resultados agregados:
  • <parallel.results>: Array de resultados de todas as instâncias paralelas

Exemplos de casos de uso

Processamento de API em lote

Cenário: Processar múltiplas chamadas API simultaneamente

  1. Bloco paralelo com coleção de endpoints API
  2. Dentro do paralelo: O bloco API chama cada endpoint
  3. Depois do paralelo: Processar todas as respostas juntas

Processamento de IA com múltiplos modelos

Cenário: Obter respostas de múltiplos modelos de IA

  1. Paralelo baseado em coleção sobre uma lista de IDs de modelos (ex., [“gpt-4o”, “claude-3.7-sonnet”, “gemini-2.5-pro”])
  2. Dentro do paralelo: O modelo do agente é definido para o elemento atual da coleção
  3. Depois do paralelo: Comparar e selecionar a melhor resposta

Características avançadas

Agregação de resultados

Os resultados de todas as instâncias paralelas são coletados automaticamente:
// In a Function block after the parallel
const allResults = input.parallel.results;
// Returns: [result1, result2, result3, ...]

Isolamento de instâncias

Cada instância paralela executa independentemente:
  • Escopos de variáveis separados
  • Sem estado compartilhado entre instâncias
  • Falhas em uma instância não afetam as outras

Limitações

Os blocos contenedores (Loops e Paralelos) não podem ser aninhados uns dentro de outros. Isso significa: - Você não pode colocar um bloco de Loop dentro de um bloco Paralelo - Você não pode colocar outro bloco Paralelo dentro de um bloco Paralelo - Você não pode colocar nenhum bloco contenedor dentro de outro bloco contenedor
Os blocos paralelos podem conter apenas um único bloco. Você não pode ter múltiplos blocos conectados entre si dentro de um paralelo - nesse caso, apenas o primeiro bloco seria executado.
Embora a execução paralela seja mais rápida, tenha em mente: - Os limites de taxa das APIs ao fazer solicitações concorrentes - O uso de memória com grandes conjuntos de dados - Máximo de 20 instâncias concorrentes para evitar esgotamento de recursos

Paralelo vs Loop

Entendendo quando usar cada um:
CaracterísticaParaleloLoop
ExecuçãoConcorrenteSequencial
VelocidadeMais rápido para operações independentesMais lento mas ordenado
OrdemSem ordem garantidaMantém a ordem
Caso de usoOperações independentesOperações dependentes
Uso de recursosMaiorMenor

Entradas e Saídas

  • Configuração
  • Variáveis
  • Resultados
  • Tipo de paralelo: Escolha entre ‘count’ ou ‘collection’
  • Count: Número de instâncias a executar (baseado em contagem)
  • Collection: Array ou objeto a distribuir (baseado em coleção)

Melhores práticas

  • Apenas operações independentes: Certifique-se de que as operações não dependam umas das outras
  • Tratamento de limites de taxa: Adicione atrasos ou limitações para fluxos de trabalho com uso intensivo de API
  • Tratamento de erros: Cada instância deve lidar com seus próprios erros corretamente