ActionFlow
The diagram below shows the relationship between the core concepts of ActionFlow: Flow, Job, Group, and Actions.
graph TD
A[Flow] -->|Contains| B[Job]
B -->|Has Groups Based on Actions' Wait Attribute| C[Group]
C -->|Executes| D[Action]
D -->|Has State Machine| D1[Pending]
D -->|Has State Machine| D2[Running]
D -->|Has State Machine| D3[Success or Failure]
style A fill:#1f77b4,stroke:#fff,stroke-width:2px
style B fill:#ff7f0e,stroke:#fff,stroke-width:2px
style C fill:#2ca02c,stroke:#fff,stroke-width:2px
style D fill:#d62728,stroke:#fff,stroke-width:2px
Explanation
- Flow: The top-level entity that orchestrates the entire workflow. It contains multiple Jobs.
- Job: Represents a collection of actions that execute sequentially. Each job is divided into Groups.
- Group: Actions within a job are grouped based on their
waitattribute. Actions in the same group can run in parallel. - Action: The smallest executable unit, which follows a predefined state machine (
Pending,Running,Success,Failure).
State Management in Actions
Each Action is governed by a state machine with the following states:
- Pending: Action is queued for execution.
- Running: Action is in progress.
- Success: Action completed successfully.
- Failure: Action failed during execution.