ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Worker.Realise

Description

Realising a job's verdict at the queue handle: ack, dead-letter, or release for retry.

Every receipt in a batch is leased for the batch's whole run (Ecluse.Core.Worker.Lease), so a job never races the backend's visibility window and its disposition is the one thing that ends the lease. Jobs run sequentially, one artifact task at a time. A delivery that already spent the queue's redelivery budget is retired before its job runs, so a message nothing else captures stops cycling instead of re-fetching its artifact on every redelivery.

Synopsis

Documentation

processBatch :: [QueueMessage] -> WorkerM () Source #

Process one batch sequentially under a lease on every receipt in it. The heartbeat advances per job, so workerHeartbeatStaleAfter covers one job.