trait SourceAndAck[F[_]] extends AnyRef
The machinery for sourcing events from and external stream and then acking/checkpointing them.
Implementations of this trait are provided by the sources library (e.g. kinesis, kafka, pubsub) whereas implementations of EventProcessor are provided by the specific application (e.g. enrich, transformer, loaders)
- Alphabetic
- By Inheritance
- SourceAndAck
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def processingLatency: F[FiniteDuration]
Measurement of how long the EventProcessor has spent processing any pending un-acked events.
Measurement of how long the EventProcessor has spent processing any pending un-acked events.
Note, unlike our statsd metrics, this measurement does not consider min/max values over a period of time. It is a snapshot measurement for a single point in time.
This measurement is designed to be used as a health probe. If events are getting processed quickly then latency is low and the probe should report healthy. If any event is "stuck" then latency is high and the probe should report unhealthy.
- abstract def stream(config: EventProcessingConfig, processor: EventProcessor[F]): Stream[F, Nothing]
Wraps the EventProcessor to create a Stream which, when compiled drained, causes events to flow through the processor.
Wraps the EventProcessor to create a Stream which, when compiled drained, causes events to flow through the processor.
- config
Configures how events are fed into the processor, e.g. whether to use timed windows
- processor
The EventProcessor, which is implemented by the specific application, e.g. enrich or a loader
- returns
A stream which should be compiled and drained
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])