reckon_db_leader_tracker (reckon_db v1.6.0)
View SourceLeader tracker for reckon-db
Tracks subscriptions and coordinates with pg groups.
Responsibilities: - Observe subscription changes via tracker_group - Start emitter pools when subscriptions are created (on leader) - Stop emitter pools when subscriptions are deleted (on leader) - Update emitter pools when subscriptions are modified (on leader)
Since Khepri triggers execute on the leader node, this module coordinates emitter lifecycle with subscription changes.
Summary
Types
-type store_config() :: #store_config{store_id :: atom(), data_dir :: string(), mode :: single | cluster, timeout :: pos_integer(), writer_pool_size :: pos_integer(), reader_pool_size :: pos_integer(), gateway_pool_size :: pos_integer(), options :: map()}.
-type subscription() :: #subscription{id :: binary(), type :: subscription_type(), selector :: binary() | map(), subscription_name :: binary(), subscriber_pid :: pid() | undefined, created_at :: integer(), pool_size :: pos_integer(), checkpoint :: non_neg_integer() | undefined, options :: map()}.
-type subscription_type() ::
stream | event_type | event_pattern | event_payload | tags | by_stream | by_event_type |
by_event_pattern | by_event_payload | by_tags.