<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Task-Queues on Kuldeep Pisda</title><link>https://kdpisda.in/tag/task-queues/</link><description>Recent content in Task-Queues on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 15 Mar 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/task-queues/index.xml" rel="self" type="application/rss+xml"/><item><title>Splitting Celery Workers by Queue, Not by Scale</title><link>https://kdpisda.in/splitting-celery-workers-by-queue-not-scale/</link><pubDate>Sun, 15 Mar 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/splitting-celery-workers-by-queue-not-scale/</guid><description>&lt;p&gt;Here is the bug that never happened, which is the whole point.&lt;/p&gt;
&lt;p&gt;A user opens the app, taps &amp;ldquo;log in&amp;rdquo;, and waits for a six-digit code to land on their
phone. At the same moment, a clinic receptionist somewhere else hits &amp;ldquo;export&amp;rdquo; on a
year of billing history — a fat Excel file that takes a while to build. On a naive
Celery setup, those two tasks go into the same queue and get picked up by the same
pool of workers. If the export grabbed a worker first, the OTP sits behind it. The
user stares at a blank code field. To them, login is broken. Nothing threw an
exception. The export was doing exactly what it was told.&lt;/p&gt;</description></item><item><title>Payments Never Wait Behind a Transcode</title><link>https://kdpisda.in/queue-per-workload-celery-rabbitmq/</link><pubDate>Sat, 28 Feb 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/queue-per-workload-celery-rabbitmq/</guid><description>&lt;p&gt;The last chapter ended on a loose thread I promised to pick up: inside the one Django hub, plenty of work has no business running inside a web request. Sending a donor&amp;rsquo;s receipt, fanning out a notification, kicking off a video transcode — those all get handed off to Celery. And the moment you have both a two-hour transcode and a receipt a human is actively refreshing their inbox for, &lt;em&gt;how&lt;/em&gt; you queue them stops being a detail and becomes the thing that decides whether the platform feels instant or broken.&lt;/p&gt;</description></item></channel></rss>