keiro
Safe HaskellNone
LanguageGHC2024

Keiro.DeadLetter

Description

Durable records for process-manager and router dispatches rejected by a target state machine.

Use recordDispatchDeadLetter from a worker before acknowledging its source event, and listDispatchDeadLetters to inspect the durable witnesses for one dispatcher. Inserts are idempotent under source-event redelivery.

Synopsis

Documentation

data DispatcherKind Source #

Which coordination primitive attempted the rejected dispatch.

Instances

Instances details
Generic DispatcherKind Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Associated Types

type Rep DispatcherKind 
Instance details

Defined in Keiro.DeadLetter.Schema

type Rep DispatcherKind = D1 ('MetaData "DispatcherKind" "Keiro.DeadLetter.Schema" "keiro-0.12.0.0-inplace" 'False) (C1 ('MetaCons "DispatcherProcessManager" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DispatcherRouter" 'PrefixI 'False) (U1 :: Type -> Type))
Show DispatcherKind Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Eq DispatcherKind Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Ord DispatcherKind Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

type Rep DispatcherKind Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

type Rep DispatcherKind = D1 ('MetaData "DispatcherKind" "Keiro.DeadLetter.Schema" "keiro-0.12.0.0-inplace" 'False) (C1 ('MetaCons "DispatcherProcessManager" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DispatcherRouter" 'PrefixI 'False) (U1 :: Type -> Type))

data DispatchDeadLetter Source #

Fields persisted for one rejected dispatch.

Instances

Instances details
Generic DispatchDeadLetter Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Associated Types

type Rep DispatchDeadLetter 
Instance details

Defined in Keiro.DeadLetter.Schema

Show DispatchDeadLetter Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Eq DispatchDeadLetter Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

type Rep DispatchDeadLetter Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

data DispatchDeadLetterRecord Source #

A persisted rejected dispatch, including database-managed identity and time.

Instances

Instances details
Generic DispatchDeadLetterRecord Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Associated Types

type Rep DispatchDeadLetterRecord 
Instance details

Defined in Keiro.DeadLetter.Schema

Show DispatchDeadLetterRecord Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

Eq DispatchDeadLetterRecord Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

type Rep DispatchDeadLetterRecord Source # 
Instance details

Defined in Keiro.DeadLetter.Schema

recordDispatchDeadLetter :: forall (es :: [Effect]). Store :> es => DispatchDeadLetter -> Eff es () Source #

Idempotently persist one rejected dispatch.

listDispatchDeadLetters :: forall (es :: [Effect]). Store :> es => Text -> Eff es [DispatchDeadLetterRecord] Source #

List one dispatcher's rejected dispatches, newest first.