ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Worker.Loop

Description

Supervision for the worker's consume loop. A failed receive arrives as the queue handle's typed fault value, which the step logs and backs off from at its own pacing. Residue, an exception escaping a dependency's typed contract, is superviseLoop's concern under the caller's policy.

Shutdown cancels the loop thread, and an un-acked in-flight message simply redelivers, which is safe because publishing is idempotent.

Synopsis

Documentation

workerLoop :: SupervisionPolicy -> WorkerM Void Source #

The continuous consume loop: long-poll, process, repeat, under the supervision policy. The heartbeat advances only on progress, so a persistently faulting receive goes stale on /livez.