From 6c9a572fbf32b9940a3a615d4e120476d602db78 Mon Sep 17 00:00:00 2001 From: Ben Carter Date: Sat, 16 Sep 2023 18:20:09 +0000 Subject: [PATCH] Explain LoadAndRun --- README.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f48936..6d121f1 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,7 @@ # fs2-kafka-topic-loader -Reads the contents of provided Kafka topics determined by the `LoadTopicStrategy`. - -- `LoadAll` - reads the topics in their entirety -- `LoadCommitted` - reads up to the configured consumer-group's last committed Offset +Reads the contents of provided Kafka topics. This library is aimed for usage in applications that want a deterministic stream of Kafka messages that completes once the last message (determined above) has been read. This is useful if an application shouldn't respond to new events @@ -16,6 +13,21 @@ of a topic needs to be reloaded on an application restart. ## Usage +### `Load` + +Determined by the `LoadTopicStrategy`, this stream completes once all messages have been read. + +Load strategies: + +- `LoadAll` - reads the topics in their entirety +- `LoadCommitted` - reads up to the configured consumer-group's last committed Offset + +### `LoadAndRun` + +Read up to the latest offset, fire a callback and continue streaming messages. + +## Example + Add the following to your `build.sbt`: ```scala @@ -77,7 +89,6 @@ object Main extends IOApp.Simple { } ``` - ## Configuration Configuration from the Topic Loader is done via the `ConsumerSettings`. The group id of the Topic Loader should match