View Source RabbitMQStream.Consumer.OffsetTracking.IntervalStrategy (rabbitmq_stream v0.4.0)

Interval Strategy

Runs a timer every interval milliseconds, and sends the parent process a :run_offset_tracking message.

Since we also execute the strategy after every message, we also reset any timer that may be running when the strategy is returns a :store.

Usage

defmodule MyApp.MyConsumer do
  alias RabbitMQStream.Consumer.OffsetTracking

  use RabbitMQStream.Consumer,
    offset_tracking: [OffsetTracking.IntervalStrategy, interval: 10_000]

  @impl true
  def handle_message(_message) do
    :ok
  end
end

Parameters

  • interval - the time in milliseconds before storing the offset