Function akka_projection_rs::consumer::task
source · pub fn task<A, B, Envelope, EE, IH, SP>(
offset_store: (impl Future<Output = Result<()>>, Sender<Command>),
source_provider: SP,
handler: IH
) -> (impl Future<Output = Result<()>>, Sender<()>)where
A: Handler<Envelope = EE> + Send,
B: PendingHandler<Envelope = EE> + Send,
EE: TryFrom<Envelope>,
Envelope: WithPersistenceId + WithOffset + WithSeqNr + WithSource + Send,
IH: Into<Handlers<A, B>>,
SP: SourceProvider<Envelope = Envelope>,
Expand description
Provides an asynchronous task and a kill switch that can run and stop a projection.
An at-least-once projection is returned with storage for projection offsets, meaning, for multiple runs of a projection, it is possible for events to repeat from previous runs.