Concepts
The why behind every design decision. Read Thinking in ChasquiMQ first if you’re new — it’s the mental model that makes the rest of these pages make sense.
Mental model
Section titled “Mental model”- Thinking in ChasquiMQ — Producer / Consumer / Stream / Job / DLQ as one diagram. Read this first.
Wire layer
Section titled “Wire layer”- Redis Streams primer —
XADD,XREADGROUP,XACK,XACKDEL, idempotent producer. - Delivery semantics — at-least-once, idempotent producer, why exactly-once is a lie.
Job lifecycle
Section titled “Job lifecycle”- Retry and backoff — how retries get rescheduled, the backoff math, the unrecoverable short-circuit.
- DLQ and recovery — why the DLQ is just another stream.
- Result backends — why result storage is opt-in.
- The scheduler — separate from the consumer for a reason.
Architecture and trade-offs
Section titled “Architecture and trade-offs”- Architecture decisions — Rust + tokio, Streams, MessagePack, why no Lua.
- Performance trade-offs — what we measured and what we kept.