日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

并行(Parallel)

本文介紹了并行狀態及其相關使用示例。

基本概念

并行狀態用來并行執行多個狀態。它定義了多個分支(Branches),每個分支包含一系列狀態。

執行并行狀態會并發執行所有分支包含的狀態。當所有分支執行結束后,默認將輸出一個包含所有分支結果的map[string]any,然后可以通過輸出構造器將結果進行進一步處理。

說明

并行狀態最大分支數限制為50。

并行狀態包含以下屬性。

字段

類型

是否必選

描述

示例值

Name

string

狀態名稱。

my-state-name

Description

string

狀態描述。

describe it here

Type

string

狀態類型。

Parallel

InputConstructor

map[string]any

輸入構造器。

請參見輸入和輸出

Branches

ParallelBranch

并行分支。

詳見ParallelBranch

OutputConstructor

map[string]any

輸出構造器。

請參見狀態輸出構造器

Next

string

當前狀態的下一狀態。當End取值為true時,無需指定。

my-next-state

End

bool

是否為當前作用域的終結節點。

true

Retry

Retry

重試配置

請參見 錯誤處理

Catch

Catch

捕獲配置

請參見 錯誤處理

ParallelBranch

字段

類型

是否必選

描述

示例值

States

array

內部嵌套的狀態數組。

使用示例

StartAt

string

內部嵌套狀態數組的執行起點。

my start task

使用示例

下面的示例流程定義了一個并行步驟,這個并行步驟包含兩個分支,每個分支又包含了一個傳遞步驟。

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
  • Pass1的輸出如下。

    {
        "FieldA": 123
    }
  • Pass2的輸出如下。

    {
        "FieldA": 321
    }
  • Parallel1的輸出如下,每個Branch會提供默認的名稱,按照"Branch<Index>"的格式組織結果。

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