How groundcover built a durable alert dispatch system with Temporal
May 29, 2026

Summary
This post details groundcover's implementation of a durable alert dispatch system using Temporal. Key technical contributions include: a two-level Workflow architecture (orchestrator and per-alert Workflows), deterministic Workflow IDs for `SignalWithStartWorkflow`, signal batching within per-alert Workflows using `ReceiveAsync` and a small sleep window, a fan-out mechanism with semaphore-controlled goroutines and per-alert ordering preservation, backpressure management via `CountWorkflow` and dynamic scan limits, and a two-tier state management approach (in-memory for performance, PostgreSQL for persistence). The system also uses `Continue-as-New` for history bounding and Temporal Retry Policies for Activity failures.