Framework.ConsumerCursor (Framework v0.5.0)

View Source

Consumer cursor persistence for sequencer consumers.

Stores the last processed sequence for each consumer to enable deterministic resume after restarts. Part of the consumer conformance contract defined by the framework.

Summary

Functions

Creates or updates a consumer cursor.

Updates cursor to new sequence position.

Functions

changeset(cursor, attrs)

Creates or updates a consumer cursor.

Examples

iex> alias Framework.ConsumerCursor
Framework.ConsumerCursor
iex> changeset = ConsumerCursor.changeset(%ConsumerCursor{}, %{
...>   name: "test_consumer",
...>   last_processed_sequence: 42
...> })
iex> changeset.valid?
true

update_cursor(cursor, new_sequence)

Updates cursor to new sequence position.