franz/group_subscriber
Types
Return type for group subscriber callbacks.
pub type CallbackReturn
A builder for creating and configuring a Kafka consumer group subscriber.
pub opaque type GroupBuilder(callback_init_state)
Values
pub fn ack(cb_state: cb_state) -> CallbackReturn
Acknowledges the processing of the message. Use this in your callback to confirm message receipt.
pub fn commit(cb_state: cb_state) -> CallbackReturn
Commits the offset of the last message that was successfully processed. Use this in your callback to mark messages as processed.
pub fn new(
client client: franz.Client,
group_id group_id: String,
topics topics: List(String),
message_type message_type: message_type.MessageType,
callback callback: fn(franz.KafkaMessage, callback_init_state) -> CallbackReturn,
init_callback_state init_callback_state: callback_init_state,
) -> GroupBuilder(callback_init_state)
Creates a new group subscriber builder. The callback will be called for each message received from the subscribed topics.
pub fn start(
group_builder: GroupBuilder(callback_init_state),
) -> Result(process.Pid, franz.FranzError)
Starts a new group subscriber with the configured settings. Returns the process ID of the subscriber on success.
pub fn stop(pid: process.Pid) -> Result(Nil, franz.FranzError)
Stops a running group subscriber.
pub fn with_consumer_config(
group_builder: GroupBuilder(callback_init_state),
consumer_config: consumer_config.ConsumerConfig,
) -> GroupBuilder(callback_init_state)
Adds a consumer configuration option to the group builder. Multiple configurations can be chained together.
pub fn with_group_config(
group_builder: GroupBuilder(callback_init_state),
group_config: group_config.GroupConfig,
) -> GroupBuilder(callback_init_state)
Adds a group configuration option to the group builder. Multiple configurations can be chained together.