Electric.Replication.PublicationManager.Supervisor (electric v1.2.4)

View Source

Supervisor for the PublicationManager components.

The strategy is :one_for_one, supervising the RelationTracker and Configurator processes.

The Configurator process always starts after the RelationTracker process, and as part of its initialization it fetches the current set of shape filters. This makes the system resilient to Configurator restarts as it will always be eager to commit any outstanding filters to the publication.

The RelationTracker process does not depend on the Configurator process being alive to function correctly, as it only tracks the shapes and their filters, and notifies the Configurator of any changes. The system is resilient to RelationTracker restarts as it repopulates its filters from the in-memory shape status cache, and can handle notifications for filters it is not tracking.

Summary

Functions

Returns a specification to start this module under a supervisor.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

name(stack_id)

start_link(opts)