Hivent

Emitting events

Hivent.emit("some:event", %{foo: "bar"}, %{version: 1})

Consuming events

  defmodule TestConsumer do
    @topic "some:event"
    @name "test_consumer"
    @partition_count 2

    use Hivent.Consumer

    def process(%Hivent.Event{} = event) do
      if do_something(event) do
        :ok
      else
        # Puts the event in the dead letter queue
        {:error, "failed to process"}
      end
    end
  end

Installation

If available in Hex, the package can be installed as:

  1. Add hivent to your list of dependencies in mix.exs:
```elixir
def deps do
  [{:hivent, "~> 0.1.0"}]
end
```
  1. Ensure hivent is started before your application:
```elixir
def application do
  [applications: [:hivent]]
end
```