Processes web articles by fetching content, generating summaries and keywords in parallel, then publishing the results. Demonstrates parallel execution, automatic retries, and dependency management.
▸ Orchestration in Postgres
The pgflow client calls SQL function start_flow() via Supabase RPC, which
creates a run and initializes state for each step. Root steps (no dependencies) get tasks
queued immediately.
Edge Function worker polls the queue, calls SQL function start_tasks() to reserve tasks,
executes handlers, then calls complete_task() to save outputs.
complete_task() checks
dependencies after each completion, creates tasks for steps with all dependencies
met, and marks the run complete when remaining_steps = 0.
Supabase Realtime streams database events. The pgflow client transforms these into a developer-friendly API with promises for completion and reactive state updates.
▸ Configuration options
slug: "article_flow"
Unique identifier for this flow. Must be ≤128 characters, containing only letters, numbers, and underscores.
baseDelay: 1
Base delay for retries in seconds. With exponential backoff, first retry waits 1s (subsequent retries would wait 2s, 4s, etc).
maxAttempts: 2
Maximum total attempts allowed. With 2 attempts: 1 initial try + 1 retry on failure.