run the docker compose file
inside the kafka container run:
kafka-topics --create --bootstrap-server kafka:9092 --replication-factor 1 --partitions 3 --topic elixir_integration
run the project
iex -S mix
Create the workers and produce messages
KafkaEx.create_worker(:pr)
{:ok, #PID<0.244.0>}
KafkaEx.produce("elixir_integration", 0, "calbertora")
:ok
iex(3)>
12:16:19.907 [debug] message: "calbertora"
0..10 |> Enum.each(fn n -> KafkaEx.produce("elixir_integration", 0, "calbertora #{n}") end)
:ok
iex(4)>
12:18:05.991 [debug] message: "calbertora 0"
12:18:05.993 [debug] message: "calbertora 1"
12:18:05.993 [debug] message: "calbertora 2"
12:18:05.993 [debug] message: "calbertora 3"
12:18:05.995 [debug] message: "calbertora 4"
12:18:05.995 [debug] message: "calbertora 5"
12:18:05.995 [debug] message: "calbertora 6"
12:18:05.997 [debug] message: "calbertora 7"
12:18:05.997 [debug] message: "calbertora 8"
12:18:05.998 [debug] message: "calbertora 9"
12:18:05.998 [debug] message: "calbertora 10"
12:18:06.987 [debug] Committed offset elixir_integration/0@22 for elixir_integration
TODO: Add description
If available in Hex, the package can be installed
by adding elixir_kafka_integration
to your list of dependencies in mix.exs
:
def deps do
[
{:elixir_kafka_integration, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/elixir_kafka_integration.