本文介紹成功狀態及其相關使用示例。
基本概念
成功狀態用來提前結束一系列狀態,類似于編程語言中的return
。工作流定義中,通常一個狀態執行完成后會繼續執行后續狀態,而成功狀態不會繼續執行下一個狀態。
運行至成功狀態,將會完結本作用域的所有狀態,流程將繼續運行至上一層作用域。
成功狀態包含以下屬性。
字段 | 類型 | 是否可選 | 描述 | 示例值 |
Name | string | 是 | 狀態名稱。 | my state |
Description | string | 否 | 狀態描述。 | describe it here |
Type | string | 是 | 狀態類型。 | Succeed |
InputConstructor | map[string]any | 否 | 輸入構造器。 | 請參見輸入構造器 |
OutputConstructor | map[string]any | 否 | 輸出構造器。 | 請參見輸入和輸出 |
使用示例
以下流程定義使用成功狀態來完結當前作用域。
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Parallel1
States:
- Type: Parallel
Name: Parallel1
End: true
Branches:
- StartAt: Succeed1
States:
- Type: Succeed
Name: Succeed1
OutputConstructor:
FieldA: 123
- StartAt: Pass2
States:
- Type: Pass
InputConstructor:
FieldA: 321
Name: Pass2
End: true
本示例與Parallel使用示例相比,僅有Pass1和Succeed1不同,可以將成功狀態理解為自帶End=true
屬性的傳遞狀態。
在Succeed1完結時,隱式命名的ParallelBranch #0置為完結。
在ParallelBranch #0與ParallelBranch #1同時完結時,整個Parallel1置為完結。而Parallel1完結時,整個工作流流程置為完結。
文檔內容是否對您有幫助?