PgFlowDashboard (PgFlow v0.3.3)

Copy Markdown View Source

A Phoenix LiveView dashboard for monitoring PgFlow workflow execution.

PgFlowDashboard provides real-time visibility into workflow execution with a read-only, security-first approach.

Features

  • Real-time overview of workers, runs, and queue depth
  • Detailed run inspection with step states and task details
  • Flow visualization with dependency graphs
  • Worker health monitoring
  • GitHub-style run history grid

Installation

  1. Add the dashboard to your router:

    defmodule MyAppWeb.Router do use MyAppWeb, :router

    import PgFlowDashboard.Router

    scope "/" do

     pipe_through [:browser]
     pgflow_dashboard "/pgflow",
       repo: MyApp.Repo,
       pubsub: MyApp.PubSub,
       auth_handler: MyAppWeb.PgFlowAuth

    end end

  2. Ensure the standard PgFlow migration has run:

    mix pgflow.setup mix ecto.migrate

The dashboard reads the PgFlow schema through typed core APIs; it does not require a separate dashboard migration. Historical PgFlowDashboard.Migration views and functions may remain installed for compatibility with external SQL consumers.

Configuration Options

See PgFlowDashboard.Config for all available options.

Summary

Functions

Returns the child specification for starting PgFlowDashboard's supervision tree.

Returns the current version of PgFlowDashboard.

Functions

child_spec(opts)

Returns the child specification for starting PgFlowDashboard's supervision tree.

This allows adding PgFlowDashboard to your application's supervision tree:

children = [
  # ... other children
  PgFlowDashboard
]

Or with options:

{PgFlowDashboard, name: MyApp.PgFlowDashboardSupervisor}

version()

@spec version() :: String.t()

Returns the current version of PgFlowDashboard.