elsa v0.6.0 Elsa.Group.Supervisor

Orchestrates the creation of dynamic supervisor and worker processes for per-topic consumer groups, manager processes for coordinating topic/partition assignment, and a registry for differentiating named processes between consumer groups.

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Provide a name-spaced process registry identifier for differentiating processes between consumer groups.

Ensures descendant workers have unsubscribed and unlinked from supervision before gracefully terminating the supervisor process and all remaining children.

Link to this section Functions

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

registry(name)
registry(String.t()) :: atom()

Provide a name-spaced process registry identifier for differentiating processes between consumer groups.

Link to this function

start_link(init_arg \\ [])

Link to this function

stop(name)
stop(String.t()) :: :ok

Ensures descendant workers have unsubscribed and unlinked from supervision before gracefully terminating the supervisor process and all remaining children.