2016-04-29 4 views
1

Я пишу приложение для пирамиды, которое принимает много больших загрузок файлов (как POST). Подобно How can I serve temporary files from Python Pyramid, у меня возникла проблема, когда временные файлы, созданные cgi.FieldStorage, остались сиротами, потребляя ГБ дискового пространства. lsof указывает, что мой wsgi-процесс удалил файлы с /tmp, но файлы не были закрыты. Перезапуск приложения очищает сирот.Освободить дисковое пространство, используемое cgi.FieldStorage temp files

Как я могу заставить эти файлы быть закрытыми, чтобы пространство на диске было возвращено в ОС?

ответ

0

Эта проблема, с которой я столкнулся, не связана с cgi.FieldStorage, пирамида фактически использует WebOb для сериализации данных.

Причиной высокого использования на диске было pyramid_debugtoolbar. Отладчик заявляет в своей документации, что он поддерживает данные из предыдущих 100 запросов, которые занимали большой объем памяти и дискового пространства в моем случае. Снятие включения для отладчика с __init__.py и перезапуск сервера разрешили проблему.