Live broadcast and retained replay have different delivery and recovery requirements.

Redis pub/sub and streams are different tools

Redis Pub/Sub and Streams answer different delivery questions. Pub/Sub broadcasts to currently active subscriptions without retaining messages for later replay. A stream stores entries that readers can revisit while they remain retained. Choosing between them starts with who must receive an event and what should happen during a consumer’s absence. ...

February 6, 2028 · 6 min · XB Field Notes
A stream distributes new work through a consumer group and tracks pending entries for explicit recovery.

Redis Streams let a group share the work

A Redis Streams consumer group distributes new entries among named consumers and records deliveries awaiting acknowledgement. It does not guarantee exactly-once effects, prevent retention loss, or recover abandoned work by itself. Understanding the group position, pending entries, and retained stream data separately is essential before treating it as a work queue. ...

February 5, 2028 · 7 min · XB Field Notes
A command pointing output and error to files before it starts.

Redirection reorders the streams

Redirection changes a command’s file descriptors before the command executes. The shell processes redirections from left to right, opening or duplicating a descriptor as it reaches each operation. Descriptors 0, 1, and 2 conventionally represent standard input, standard output, and standard error. Reading this sequence as concrete changes to those handles explains both misplaced diagnostics and files that become empty before their contents can be read. ...

September 29, 2027 · 4 min · XB Field Notes
A per-group cursor over a shared append of entries.

Redis streams track a consumer's own cursor

A Redis stream does not automatically track a separate cursor for every connection. Ordinary XREAD uses a position supplied by the application. A consumer group instead owns a server-side last-delivered position plus pending delivery records. Confusing those two forms of progress can make a restart skip unfinished work or replay effects already completed. ...

July 13, 2027 · 7 min · XB Field Notes