Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module allows you to receive values from a Kafka topic, and treat then as Mu terms, or your Haskell types if a conversion exists.
This module is a wrapper over Source
from the (awesome) package hw-kafka-client
.
Synopsis
- kafkaSource :: (MonadResource m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> ConsumerProperties -> Subscription -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m ()
- kafkaSourceNoClose :: (MonadIO m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> KafkaConsumer -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m ()
- kafkaSourceAutoClose :: (MonadResource m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> KafkaConsumer -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m ()
- module Kafka.Consumer
- module Kafka.Conduit.Combinators
Documentation
kafkaSource :: (MonadResource m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> ConsumerProperties -> Subscription -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m () Source #
kafkaSourceNoClose :: (MonadIO m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> KafkaConsumer -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m () Source #
Create a Source
for a given KafkaConsumer
.
The consumer will NOT be closed automatically when the Source
is closed.
kafkaSourceAutoClose :: (MonadResource m, FromSchema sch sty t, FromAvro (WithSchema sch sty t), HasAvroSchema (WithSchema sch sty t)) => Proxy sch -> KafkaConsumer -> Timeout -> ConduitT () (Either KafkaError (ConsumerRecord (Maybe ByteString) (Maybe t))) m () Source #
Create a Source
for a given KafkaConsumer
.
The consumer will be closed automatically when the Source
is closed.
module Kafka.Consumer
module Kafka.Conduit.Combinators