PgFlow.Supervisor (PgFlow v0.1.0)

Copy Markdown View Source

Main supervisor for PgFlow components.

This supervisor is started by PgFlow.start_link/1 and manages the core PgFlow processes including:

  • TaskSupervisor - Supervises async task execution
  • WorkerSupervisor - Supervises flow workers
  • StalledTaskRecovery - Recovers orphaned tasks

Supervision Tree

PgFlow.Supervisor
 Task.Supervisor (PgFlow.TaskSupervisor)
 PgFlow.WorkerSupervisor
 PgFlow.Worker.StalledTaskRecovery

Summary

Functions

Returns a specification to start this module under a supervisor.

Starts the PgFlow supervisor with the given configuration.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(config)

@spec start_link(keyword()) :: Supervisor.on_start()

Starts the PgFlow supervisor with the given configuration.

The configuration should be validated using PgFlow.Config.validate!/1.

Examples

config = PgFlow.Config.validate!(repo: MyApp.Repo, flows: [MyFlow])
{:ok, pid} = PgFlow.Supervisor.start_link(config)