Django runserver утечка памяти?

Кажется, из ниоткуда, всякий раз, когда я вызывал url для моей модели Django, будь то ListView или DetailView, она зависала, и при этом память увеличивалась, и мне приходилось убивать runserver. Сейчас я отследил эту проблему до subprocess._try_wait(). Простое решение, похоже, заключается в том, чтобы поднять ChildProcessError. Но это исходный код, а мне всегда говорили, что с исходным кодом лучше не связываться. Так как же я должен это исправить? С помощью декоратора? Это все равно должно быть в исходнике, не так ли? Пожалуйста, посоветуйте.

Также я заметил, что в исходном коде есть комментарий об ошибке python в методе, непосредственно предшествующем _try_wait(), который является _internal_poll(). См. http://bugs.python.org/issue15756. Однако об этой ошибке было сообщено и исправлено еще в 2012 году, и считалось, что она идентична 1731717, о которой сообщалось еще в 2007 году и которая была исправлена в Python 3.2. Этот проект - мой первый на Python 3.9.9, поэтому я надеюсь, что эта ошибка не была повторно введена. Django - 3.2.9, os - Ubuntu 20.04.

Кроме того, все эти комментарии и сообщения об ошибках говорят о том, что "SIGCLD установлен на игнорирование". Но если это лучший способ, как мне это сделать? Я не знаю ничего о коде на Си.

Что означает игнорирование сигнала `SIGCHLD` при использовании `sigaction(2)`?

Что именно делает SIG_DFL?

Как я могу обработать SIGCHLD?

Наконец, я заметил, что ни в одном из этих источников не упоминаются скачки памяти. Я не уверен, имеет ли это значение или нет. Я предполагаю, что утечка памяти == тому, что я называю всплеском памяти. Еще раз спасибо.

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