Сервер Django иногда зависает

Я новичок в Django и столкнулся со странной проблемой, что сервер иногда зависает.

Сервер использует APScheduler для выполнения периодических задач и отправки данных на фронтенд через WebSocket. Поэтому, после того как сервер замерз, я нажал CRTL+C, чтобы выполнить прерывание клавиатуры. Сервер снова стал работать нормально.

Я запускаю сервер в режиме отладки локально на своей машине. Но эта проблема возникает только один или два раза за последние две недели. В остальное время он работает нормально.

В первый раз это произошло, когда я пытался войти в систему.

Application instance \<Task pending name='Task-1119' coro=\<StaticFilesWrapper.__call__() running at D:\\Python\\Python310\\lib\\site-packages\\channels\\staticfiles.py:44\> wait_for.\<Future pending cb=\[\_chain_future.\<locals\>.\_call_check_cancel() at D:\\Python\\Python310\\lib\\asyncio\\futures.py:385, Task.task_wakeup()\]\>\> for connection \<WebRequest at Ox25f4bObad70 method=POST uri=/admin/login/ clientproto=HTTP/1.1\> took too long to shut down and was killed

Во второй раз это произошло, когда я попытался посетить taskManager страницу.

Application instance \<Task pending name='Task-153' coro=\<StaticFilesWrapper.__call__() running at D:\\Python\\Python310\\lib\\site-packages\\channels\\staticfiles.py:44\> wait_for.\<Future pending cb=\[\_chain_future.\<locals\>.\_call_check_cancel() at D:\\Python\\Python310\\lib\\asyncio\\futures.py:385, Task.task_wakeup()\]\>\> for connection \<WebRequest at Ox19fbb5140550 method=POST uri=/taskManager clientproto=HTTP/1.1\> took too long to shut down and was killed

Python: 3.10.7

Django: 3.2

Канал: 3.0.5 И я использую InMemoryChannelLayer

Я не уверен, заклинило ли его при попытке ответить GET или POST, или сначала заклинило сервер, поэтому он не может обработать ни один запрос.

Я пытался найти эту проблему в Google. Похоже, что у других разработчиков может возникнуть подобная проблема из-за WebSocket. Я добавил несколько msg для печати перед вызовом любой функции WebSocketConsumer. Но я не увидел никаких связанных с этим функций в cmd.

Теперь я действительно запутался. Поскольку я не могу воспроизвести проблему. Может ли кто-нибудь дать мне несколько предложений о том, как отладить эту проблему?

Вернуться на верх