django большая инициализация FileField и память - PullRequest
0 голосов
/ 25 мая 2019

Другая служба записывает много больших файлов (около 20 ГБ) в мою директорию Djangos MEDIA. Как только файлы завершены, выполняется сценарий оболочки django, который присоединяет файлы к соответствующему полю файлов соответствующей модели. Минимальный пример:

from django.core.files import File

local_file = open("/MEDIA/big_file.dat")
djangofile = File(local_file)
SomeModel.SomeFileField.save('big_file.dat', djangofile)
local_file.close()

Могу ли я использовать такой подход на рабочем сервере, где ок. каждую минуту 2-3 из этих файлов 20GB создаются?

Меня беспокоит то, что функция python open () или функция Django File () (которая, похоже, также использует open ()) читает весь файл в память, что, так сказать, переполнить мой стек

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...