Skip to content

# Overview

pgflow is built on a few key concepts: flows are flow definitions, runs are executions of those flows. Each flow has steps that can depend on other steps - a step waits for its dependencies to complete and gets access to their outputs.

Steps execute through tasks (the actual units of work) - regular steps have 1 task, but map steps create one task per array element for parallel processing.

## Architecture

Section titled “Architecture”
How pgflow Works A gentle, 10-minute introduction to pgflow's architecture, state model, and execution cycle
Three-layer architecture Deep dive into pgflow's separation of concerns: DSL, SQL Core, and Worker layers
Data Model Understanding pgflow's database schema design and table relationships

## Defining Flows

Section titled “Defining Flows”
Understanding flows Learn how flows work in pgflow, from syntax to execution
Map Steps Understanding parallel array processing with map steps in pgflow workflows
Context object Understanding how pgflow provides platform resources to handlers through context
Naming steps Best practices for naming flows and steps