Лучший способ работать с временными изображениями в Django? - PullRequest
2 голосов
/ 31 июля 2009

Я разрабатываю проект Django, в котором мне нужно обслуживать временные изображения, которые генерируются онлайн. Сессии должны быть анонимными; Любой должен иметь возможность пользоваться услугой. Изображения должны быть уничтожены, когда сеанс истекает или закрывается.

Я не знаю, однако, каков наилучший подход. Например, я мог бы использовать файловые сеансы и просто установить изображения, которые будут генерироваться в папке сеанса, и они будут (или, по крайней мере, должны) уничтожаться вместе с сеансом. Я полагаю, что я мог бы сделать что-то подобное с сеансами базы данных, возможно, сохранив изображения в базе данных или просто удалив их по окончании сеансов, однако решение на основе файлов звучит для меня более надежно.

Это хорошее решение или есть более надежные альтернативы?

1 Ответ

0 голосов
/ 05 августа 2009

Я бы назвал временные образы на основе хэша ключа сеанса, а затем создал бы команду управления, которая:

  1. создает список, содержащий потенциальные временные хэши имени файла для всех текущих сеансов.
  2. захватывает список всех текущих имен файлов во временной директории
  3. удаляет имена файлов, которые не имеют соответствующей записи в списке хэшей

Поскольку не существует отказоустойчивого способа узнать, закрылся ли сеанс, вы должны сначала использовать команду управления cleanup - либо до этой, либо вы можете неявно запускать ее как часть этой новой команды, используя call_command() функция.

...