PhoenixKit.Modules.Publishing.ListingCache.CacheSync (PhoenixKitPublishing v0.5.1)

Copy Markdown View Source

Node-local subscriber that erases this node's cached listing terms when another node invalidates a group (rename/trash/delete, category changes).

:persistent_term is process-less: a peer node's warm cache never misses on its own, so before this subscriber existed it kept serving pre-mutation listings until an unrelated LOCAL mutation happened to regenerate. This process is erase-only — the next public read on the node rebuilds lazily (with broadcast: false), so an invalidation can never start a cluster-wide regeneration storm. Not a bottleneck: it holds no hot-path state and only reacts to broadcasts.

Delivery is Phoenix.PubSub at-most-once — a node partitioned when the broadcast fires misses the purge until its next local mutation or restart. The listing cache is eventually consistent, not strongly.

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.

start_link(opts)