全部產品
Search
文件中心

CloudFlow:並行步驟

更新時間:Jul 06, 2024

本文介紹了並行步驟和相關使用樣本。

介紹

並行(Parallel)步驟用來並存執行多個步驟。它定義了多個分支(Branches),每個分支包含一系列串列步驟。

並行步驟的每個分支都對應一個本地變數。執行並行步驟會並發執行所有分支包含的串列步驟。這些串列步驟會改變其分支對應的本地變數。當所有分支執行結束後,可以通過輸出映射將分支本地變數數群組轉換為並行步驟的輸出。

說明 並行步驟最大分支數限制為100。

並行步驟包含以下屬性:

  • (必需)type:parallel表示該步驟是並行步驟。
  • (必需)name:步驟名稱。
  • (必需)branches:多個分支,數群組類型,每個元素對應一個分支。

    (必需)steps:定義了分支所對應的多個串列步驟。

  • (可選)end:當前步驟結束後是否繼續執行其後定義的步驟。
  • (可選)inputMappings:輸入映射。
  • (可選)outputMappings:輸出映射。本步驟的$local是數群組類型,其中的每個元素是一個JSON對象,記錄了每個分支步驟執行的結果。
    說明 如果未指定輸出映射,本步驟預設輸出為空白。

樣本

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

version: v1
type: flow
steps:
  - type: parallel
    name: myparallel
    branches:
      - steps:
        - type: pass
          name: pass1
          outputMappings:
            - target: result
              source: pass1
      - steps:
        - type: pass
          name: pass2
          outputMappings:
            - target: result
              source: pass2
    outputMappings:
      - target: result
        source: $local[*].result          
  • pass1的輸出如下。
    {
      "result": "pass1"
    }          
  • pass2的輸出如下。
    {
      "result": "pass2"
    }           
  • myparallel的輸出如下。
    {
      "result": ["pass1", "pass2"]
    }