Electric.ShapeCache.ShapeCleaner (electric v1.2.4)

View Source

Removes a shape (consumer, status entry, on-disk data and publication entry) on demand.

This process ensures removing of shapes does not block critical path of shape creation.

Summary

Types

shape_handle()

@type shape_handle() :: Electric.ShapeCacheBehaviour.shape_handle()

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

name(stack_id)

purge_shape(stack_id, shape_handle)

See Electric.Shapes.Monitor.purge_shape/2.

remove_shape(shape_handle, opts)

@spec remove_shape(shape_handle(), Keyword.t()) :: :ok | {:error, term()}
@spec remove_shape(shape_handle(), Keyword.t()) :: :ok

remove_shape_async(shape_handle, opts)

remove_shapes_for_relations(relations, opts)

@spec remove_shapes_for_relations([Electric.oid_relation()], Keyword.t()) :: :ok

start_link(opts)