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.

Search Document