Routing failed messages somewhere they cannot block the main queue is the correct design, and it converts a loud failure into a silent one unless something alerts on…
5.0 shipped in October with a log-structured type and consumer groups. A list has no acknowledgement, which is why a crashed consumer loses the message.
Two workers selecting the next unprocessed row with FOR UPDATE serialise — the second waits for the first — so adding workers adds no throughput at all. SKIP…
Apache, Nginx, PHP, MySQL, Redis, Beanstalkd and a mail catcher, on a laptop. Onboarding measured in minutes rather than days, and what it costs to run.
Beanstalkd is a queue and nothing else — no persistence by default, no clustering, no management UI — which makes it about the smallest thing that is genuinely…
Beanstalkd models a job’s lifecycle explicitly, and the three verbs are the whole API worth knowing. A reserved job returns to the ready queue automatically when its time-to-run…
Reading a stream directly gives every consumer every message. A consumer group distributes entries between members and remembers which ones were handed out and not acknowledged. The pending…
A queued job serialises its arguments, so a job dispatched with a customer object writes that customer’s name, email and address into the queue store — where it…
A list used as a queue loses the message when a consumer crashes mid-work, because BRPOP removes it and there is no record that anything was in flight.…