ecluse:ecluse-runtime
Safe HaskellNone
LanguageGHC2021

Ecluse.Runtime.Queue.Sqs

Description

The AWS SQS backend behind the MirrorQueue handle, mapping its receive-process-ack shape onto SendMessage, ReceiveMessage, DeleteMessage, and ChangeMessageVisibility. Retry is don't ack: SQS redelivers an unacked message, and deadLetter returns a terminal one under a backoff longer than the processing window without deleting it, so it rides the operator's redrive policy to the dead-letter queue. Every failure is a TransportFault value, never an exception. The queue is an operator-declared destination, so the data-plane egress controls of Ecluse.Core.Security.Egress do not apply to it.

Synopsis

Configuration

data SqsConfig Source #

What the SQS backend needs. The provider knobs take their defaults from defaultSqsConfig (see Ecluse.Core.Queue).

Instances

Instances details
Show SqsConfig Source # 
Instance details

Defined in Ecluse.Runtime.Queue.Sqs.Internal

Eq SqsConfig Source # 
Instance details

Defined in Ecluse.Runtime.Queue.Sqs.Internal

defaultSqsConfig :: Text -> Text -> SqsConfig Source #

A SqsConfig for a queue URL and region, with the provider knobs at their defaults.

The backend

newSqsQueue :: LogEnv -> (Text -> Either Text RegistryUrl) -> SqsConfig -> IO MirrorQueue Source #

Build an SQS-backed MirrorQueue. The amazonka Env is built once here and the returned handle's closures capture it.