Skip to content

Latest commit

 

History

History
31 lines (19 loc) · 865 Bytes

README.md

File metadata and controls

31 lines (19 loc) · 865 Bytes

stream-consumer-task

Start asynchronous task in background to consume stream.

It can be useful if your application consumes several RabbitMQ queues or Kafka Topics.

Getting started

Add to your Cargo.toml:

[dependencies]
...
stream-consumer-task = "0"
...

You can look examples to see how to use the library.

Architecture

The task takes two arguments: a stream and an item handler.

Each time a new item is available in the stream, the consumer spawns a new task to handle it.

The item handler takes two arguments: the item from the stream and a Receiver<()> to handle graceful shutdown.

If the consumer is stopped, a stop signal is sent to all tasks and it will wait them termination.

Contributing

See CONTRIBUTING.md.