Todos os produtos
Search
Central de documentação

CloudFlow:Parallel state

Última atualização: Jun 28, 2026

Um estado Parallel executa várias ramificações simultaneamente. Use esse recurso para dividir um fluxo de trabalho em caminhos concorrentes — por exemplo, ao buscar dados de múltiplas origens ao mesmo tempo ou enviar notificações por diferentes canais em paralelo.

Funcionamento

O estado Parallel contém uma ou mais ramificações, e cada uma possui sua própria sequência de estados filhos. Durante a execução:

  1. O estado Parallel inicia todas as ramificações simultaneamente.

  2. Cada ramificação executa seus estados filhos independentemente.

  3. Após a conclusão de todas as ramificações, o estado Parallel consolida os resultados em uma única saída do tipo map[string]any. O resultado de cada ramificação é armazenado sob uma chave no formato Branch<Index> (por exemplo, Branch0, Branch1).

  4. Se houver um OutputConstructor definido, o estado Parallel o aplica para transformar a saída combinada antes de passar o resultado ao próximo estado.

Limites

  • Número máximo de ramificações por estado Parallel: 50

Atributos

Atributos do estado Parallel

**Atributo**

**Tipo**

**Obrigatório**

**Descrição**

Name

string

Sim

Nome do estado.

Description

string

Não

Descrição do estado.

Type

string

Sim

Tipo do estado. Defina como Parallel.

InputConstructor

map[string]any

Não

Transforma a entrada antes de passá-la às ramificações. Consulte Entradas e saídas.

Branches

ParallelBranch[]

Sim

Ramificações a executar em paralelo. Consulte ParallelBranch.

OutputConstructor

map[string]any

Não

Transforma os resultados combinados das ramificações antes de passá-los ao próximo estado. Consulte OutputConstructor do estado em "Entradas e saídas".

Next

string

Não

Próximo estado a executar após a conclusão do estado Parallel. Não obrigatório se End for true.

End

bool

Não

Indica se o escopo atual deve terminar após a conclusão do estado Parallel.

Retry

Retry

Não

Política de nova tentativa. Consulte Tratamento de erros.

Catch

Catch

Não

Política de captura. Consulte Tratamento de erros.

ParallelBranch

Atributos de ParallelBranch

**Atributo**

**Tipo**

**Obrigatório**

**Descrição**

States

array

Sim

Array de estados na ramificação.

StartAt

string

Sim

Nome do primeiro estado a executar na ramificação.

Exemplo

O fluxo de trabalho a seguir define um estado Parallel chamado Parallel1 com duas ramificações. Cada ramificação contém um único estado Pass que gera uma saída estática.

Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Parallel1
States:
  - Type: Parallel
    Name: Parallel1
    End: true
    Branches:
      - StartAt: Pass1
        States:
          - Type: Pass
            Name: Pass1
            End: true
            OutputConstructor:
              FieldA: 123
      - StartAt: Pass2
        States:
          - Type: Pass
            InputConstructor:
              FieldA: 321
            Name: Pass2
            End: true

Saída da ramificação

Cada ramificação produz sua própria saída independentemente:

  • Saída de Pass1 (Branch0):

      {
          "FieldA": 123
      }
  • Saída de Pass2 (Branch1):

      {
          "FieldA": 321
      }

Saída combinada do estado Parallel

O estado Parallel mescla todas as saídas das ramificações em um único mapa. Cada ramificação recebe uma chave padrão no formato Branch<Index>:

{
    "Branch0": {
        "FieldA": 123
    },
    "Branch1": {
        "FieldA": 321
    }
}

Próximos passos

  • Entradas e saídas: Transforme os dados que fluem pelos estados com InputConstructor e OutputConstructor.

  • Tratamento de erros: Configure as políticas Retry e Catch para lidar com falhas nas ramificações.