moontask

A queue, on a desk, in slow motion.

Two runs of the library, recorded from the examples that ship inside the module. Press play and the transcript types itself out; the lines are the ones the example printed, not a description of them.

One task, one retry

An app over the in-memory broker, one worker, two tasks: one that answers, and one that fails once and is tried again after a second of backoff. The clock belongs to the example, which is why the ids read the same every time.


  

Three cards on one string

A chain runs its links in order and answers the last; a group runs together and answers a list; a chord counts its parts and sends one callback with all their results.


  

Why a transcript rather than a sandbox

A queue is a thing that waits: its guarantees are about what happens after a worker dies, not about what happens in a browser tab. The recordings above are the honest shape of it — a run of the real code, on a clock the example controls, so the same lines come out every time and the workflow faults when they stop matching.