{"componentChunkName":"component---src-templates-tag-page-js","path":"/tags/backend/","result":{"data":{"site":{"siteMetadata":{"title":"M.Hassan Ahmed","author":"Hassan11196"}},"allMarkdownRemark":{"totalCount":2,"edges":[{"node":{"excerpt":"Handling LLM API Rate Limits: Retries and Backoff The first time a rate limit bites, it never looks like a rate limit. A demo that ran fine…","fields":{"slug":"/2026-07-11-llm-api-rate-limits-retries-backoff/"},"frontmatter":{"date":"2026-07-11T00:00:00.000Z","title":"Handling LLM API Rate Limits: Retries and Backoff","description":"Your LLM backend returns 429s the moment traffic bursts. How to retry with backoff and jitter, respect Retry-After, and pace fan-out to stay under the limit.","tags":["LLM","FastAPI","Python","Backend","AI"],"thumbnail":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABpklEQVQoz2WSSW/bMBBGdW+thcNluGglJcqyndou6qSO294C9FD00v//WzpU4qBAgQdiAPKBw/mYbZgC1UjTC90r66nImUmAzcEV4EreJERbJbqE7AkmhyxnOC7n0+XH4Xw9fvl+OF1BDVz7lUBUsrtr/aoNLOGZ8iSbgruC1+s9dSlbjskUJkg7CTO+aeLttrsZmBqzAiyQIKltX/G6qGwJzQfmBjO+hE+F6AA9meSAoi58JQPgCIqYsrwywi94vJS8hSbqz19B+w366OKf8VS6iP2O6SDs1g4Xv/tGOP8o3Z6RXPK60j10M2nMBOi2YMdch+DmX+FUmAkI6t/t6ul6fv5NNPGm6geuIslNhb0+P4lwgHrSDxc1nwodYrv87A65Sk3SC4VdrH9spuc23qhIMs4ZZcBwAB2gmfH4RB1yO4GbY7O8tPtcBHoezQZw4hhBRcDI9faV7HWSFA/qSeKIOBkTpYnebm/tHvQsDUFHZzotzJLQtO6E2WfrH2gLnpIE2RMKPeqAelR6fF9p1CkhGdaQUk4pqk2l7siP/1LeWWva/Z+/NMJIWC8HgbwAAAAASUVORK5CYII=","aspectRatio":1.8888888888888888,"src":"/static/ebf8b9e4205c6be208e290e7b0e3fe48/40a76/hero.png","srcSet":"/static/ebf8b9e4205c6be208e290e7b0e3fe48/c972b/hero.png 340w,\n/static/ebf8b9e4205c6be208e290e7b0e3fe48/27625/hero.png 680w,\n/static/ebf8b9e4205c6be208e290e7b0e3fe48/40a76/hero.png 1360w","sizes":"(max-width: 1360px) 100vw, 1360px"}}}}}},{"node":{"excerpt":"FastAPI Event Loop Blocking: Sync vs Async The bug looks impossible the first time you see it. Your FastAPI service handles hundreds of…","fields":{"slug":"/2026-07-10-fastapi-blocking-event-loop/"},"frontmatter":{"date":"2026-07-10T00:00:00.000Z","title":"FastAPI Event Loop Blocking: Sync vs Async","description":"One blocking call in a FastAPI route stalls every other request, including live SSE streams. Here is how the event loop breaks, and how to keep it free.","tags":["FastAPI","Python","AsyncIO","Backend","LLM"],"thumbnail":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsSAAALEgHS3X78AAAB0UlEQVQoz02Q7W+aQBzHWbbaVgTBB4QD5HwgIjqRBxEsaYqWVsnWdnUxrmmX2pk12Zu97rLo/zy3Fembna0vdvnc5XvfXz7J5TCaKQOpwRVVABusWAeSis6CoLCigkquuBnxsImuBaGWzsH/wbJs1XIDozvoHo4M91h3jk032OAEtjdEweqddA5OdbtfazpUvoRIv4BktGlU5SBJFdO0lM6IiCQFEiSzR7B4iscJPkmySYLdJZg9isUpQJAiQYkbmS5UyvWebHiNYKAc+drhx6Y31o33rnaptvuiY/GmVdFPJe2kpYWuNlY0X3As0DbQEzCKKbNQ5xWz7PVEu1uzwoo+MswzTx832n3J6QimJRtDqAWaNjpoj9X2oOh2tjL6sDyQs0yFpmA2U8ZzEp6DCVrACOY1CXZSwg4pvCE5xKsN+UQqixOApMSNvJ/mQckAigm9HrTtsGVfGO5Q1X1Y84tVX5KPJNl/ZiBVbai9rYcM19rPlHYJDvOD8+HZ9bvp7eW3+/P53cP1bHk7X8y+Lj7fLa5ulp9uHiZXP575OZl+n87vZ8uLD18G4QSJ2NPLip/iv+s4in+v49U6/hWtESisom3eNtHjn8dVtI7iOEbSP605i8t7S+65AAAAAElFTkSuQmCC","aspectRatio":2.193548387096774,"src":"/static/3f113a9e9ac7980409c3bc77cd373993/40a76/hero.png","srcSet":"/static/3f113a9e9ac7980409c3bc77cd373993/c972b/hero.png 340w,\n/static/3f113a9e9ac7980409c3bc77cd373993/27625/hero.png 680w,\n/static/3f113a9e9ac7980409c3bc77cd373993/40a76/hero.png 1360w,\n/static/3f113a9e9ac7980409c3bc77cd373993/1e49b/hero.png 2040w,\n/static/3f113a9e9ac7980409c3bc77cd373993/7148e/hero.png 2720w","sizes":"(max-width: 1360px) 100vw, 1360px"}}}}}}]}},"pageContext":{"tag":"Backend"}},"staticQueryHashes":["32046230"]}