Packages
kafka_message_bus
4.2.2
4.3.4
4.3.3
4.3.2
4.3.1
4.3.0
4.2.10
4.2.9
4.2.8
4.2.7
4.2.6
4.2.5
4.2.4
4.2.3
4.2.2
4.2.1
4.2.0
4.1.1
4.1.0
4.0.1
4.0.0
4.0.0-rc.8
4.0.0-rc.7
4.0.0-rc.6
4.0.0-rc.5
4.0.0-rc.4
4.0.0-rc.3
4.0.0-rc.2
3.0.0
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.2
2.0.1
2.0.0
1.0.1
1.0.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
A general purpose messaging utility library supporting Exq and Kaffe
Current section
Files
Jump to
Current section
Files
lib/kafka_message_bus.ex
defmodule KafkaMessageBus do
@moduledoc """
Set of functions that can be used by the app that depends on the kafka message bus. This serves
as an entry point to the app for producers.
"""
alias KafkaMessageBus.Producer
def produce(data, key, resource, action, opts \\ []) do
Producer.produce(data, key, resource, action, opts)
end
def producer(opts) do
{resource, opts} = Keyword.pop(opts, :resource)
quote do
defp produce(message, key, action) do
unquote(__MODULE__).produce(message, key, unquote(resource), action, unquote(opts))
end
end
end
defmacro __using__([{which, opts}]) do
apply(__MODULE__, which, [opts])
end
end