Opened 3 years ago
Last modified 3 years ago
#33157 closed New feature
Consider back-porting the fix of #32889 to version 3.2.x — at Initial Version
Reported by: | Ryan Henning | Owned by: | nobody |
---|---|---|---|
Component: | HTTP handling | Version: | 3.2 |
Severity: | Normal | Keywords: | |
Cc: | Carlton Gibson | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Prior to the fix for #32889 (and when deployed under an ASGI server, and for *synchronous* views), a single Django process would only serve one request at a time. Any blocking (e.g. for the ORM) during serving a single request would block _all other requests_ from being served. This caused us issues as we scaled up.
I've manually ported the fix for #32889 into our codebase and *WOOT* it works great!
We're running Django 3.2.7 and Python 3.7 (btw) and this back-port works well.
It seems that fix will only go to Django v4.x but I think this should be back-ported to v3.2.x so more people can benefit. It seems to work as-is, so the back-port *should* be easy.