keiro
Safe HaskellNone
LanguageGHC2024

Keiro.DeadLetter.Schema

Description

SQL storage for rejected process-manager and router dispatches.

The keiro.keiro_dead_letters table records a dispatched command that a target state machine rejected. It is deliberately separate from Kiroku's subscription dead-letter table: a row here describes one failed dispatch, while the source subscription event is considered handled and may advance its checkpoint.

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

recordDispatchDeadLetterTx :: DispatchDeadLetter -> Transaction () Source #

Insert a rejected dispatch inside the caller's transaction. Redelivery is idempotent: a duplicate (dispatcher_name, source_event_id, emit_index) is a no-op. Error detail is bounded here so every caller gets the same 1024-character storage contract.

listDispatchDeadLettersTx :: Text -> Transaction [DispatchDeadLetterRecord] Source #

List one dispatcher's records, newest first.