Start asynchronous task in background to consume stream.
It can be useful if your application consumes several RabbitMQ queues or Kafka Topics.
Add to your Cargo.toml
:
[dependencies]
...
stream-consumer-task = "0"
...
You can look examples to see how to use the library.
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.
See CONTRIBUTING.md.