elsa v0.3.0 API Reference

Modules

Provides public api to Elsa. Top-level short-cuts to sub-module functions for performing basic interactions with Kafka including listing, creating, deleting, and validating topics. Also provides a function for one-off produce_sync of message(s) to a topic.

Define the behaviour and default implementations of functions for creating message handlers that will be called by Elsa worker processes.

Defines the GenServer process that coordinates assignment of workers to topics/partitions of a given consumer group. Tracks consumer group state and reinstantiates workers to the last unacknowledged message in the event of failure.

The running state of the consumer group manager process.

Provides functions to encapsulate the management of worker processes by the consumer group manager.

Tracks the running state of the worker process from the perspective of the group manager.

Orchestrates the creation of dynamic supervisor and worker processes for per-topic consumer groups, manager processes for coordinating topic/partition assignment, and a registry for differentiating named processes between consumer groups.

Defines the worker GenServer that is managed by the DynamicSupervisor. Workers are instantiated and assigned to a specific topic/partition and process messages according to the specified message handler module passed in from the manager before calling the manager's ack function to notify the cluster the messages have been successfully processed.

The running state of the worker process.

Defines functions to write messages to topics based on either a list of endpoints or a named client.

Defines functions for starting persistent kafka producer processes that can be managed by a consuming application supervisor.

Provides functions for automatically selecting the topic partition to write a message.

Provides functions for managing and interacting with topics in the Kafka cluster.

Provides functions for simplifying first-class interactions (consuming and producing) such as connecting to a cluster and establishing a persistent client process for interacting with a cluster.

Exceptions