Django runserver_plus иногда не возвращает ответ без задержки или другого входящего запроса
Я запускаю Django-сервер локально с помощью runserver_plus с опцией --nothreading.
Иногда я отправляю запрос на какую-либо конечную точку (с разных клиентов, например, с фронтенда React, запущенного в Google Chrome, админки Django или Postman), и ответ приходит очень долго (обычно 1,5+ минуты). Назовем первый запрос #1. Пока этот запрос обрабатывается, если я открою другую вкладку и открою любую конечную точку - таким образом, отправлю запрос #2, сервер немедленно ответит на запрос #2, а затем немедленно ответит на запрос #1.
Обработка запроса #1 не начнет выполняться, пока не будет завершена обработка запроса #2.
Уточню: это не проблема с представлением, связанным с запросом #1. Я не могу понять, почему обработка запроса не начинается в течение некоторого времени. Вот данные из профилирования панели инструментов отладки django. Сама обработка запроса кажется быстрой, но для начала обработки этого запроса потребовалось 1,5 минуты.
Django 4.2, Django extensions 3.2, DRF 3.15. Сервер разработки запущен в docker-compose. MacOS Sonoma 14.4.
В моем случае причиной проблемы стал браузер Google Chrome. Это каким-то образом повлияло на запросы, отправленные с помощью Postman после использования Google Chrome. Чтобы проверить, является ли это причиной вашей проблемы, попробуйте переключиться на другой браузер и посмотреть, исчезнет ли проблема.
Я исправил эту проблему для Google Chrome, отключив настройку "Предварительная загрузка страниц" в Google Chrome (chrome://settings/?search=Preload).