Butter smooth, interactive applications with Django...
summary
Claim: a stock Django app uses django-channels plus WebSockets, Redis and Celery to push long-running SQL results back to the browser and avoid killing jobs on deploy. Built a SQL-editor product, hit a 7x morning spike, solved missed messages with a Redis sorted-set cursor and a middleware-serialized stream, used an event-bus frontend and exponential reconnects, and takes about six weeks to production to get everything robust.
AI-written summary · about
chapters (15)
- 0:00Start
- 2:53SQL Recipes
- 3:22A timeline of asynchronous experiences (on the web)
- 8:44Request-Response cycle (without channels)
- 10:39Problems we faced
- 12:59How channels work (high-level)
- 16:12Motivations
- 19:32Architecture Diagram
- 20:34Challenges
- 21:25Cloud deployment 1. Need a load balancer in front of the application server
- 23:22Missed Messages on re-connect
- 26:11Frontend architecture
- 26:43Solution 3: Message bus for the front-end
- 27:46Debugging
- 28:50Tip: Chrome's WS Debugger
related talks
31mReinventing Django for the Real-Time Web
22mDjango Channels Teaching a mature framework new tricks
12mHacking Django Channels for Fun (and Profit)
45mWebSockets: Intro to Messaging
29mSwiss Army Django: Small Footprint ETL
55mWorkshop 1 - Let's Make a Realtime Game with Django Channels
26mUsing Django 4.2's StreamingHttpResponse and HTMX SSE to provide real time notifications
45mKeynote: Architecting with Channels
