Я хочу создавать эскизы изображений на лету.
Мой сайт создан с использованием django и развернут с использованием nginx, который обслуживает весь статический контент и взаимодействует с django / apache с использованием обратного прокси-сервера.
Прямо сейчас, для каждого изображения на моем сайте, я создаю миниатюры всех необходимых размеров под рукой и доставляю их при необходимости. Проблема в том, что всякий раз, когда я изменяю размер миниатюры, я должен регенерировать их все (а они тонны).
Однако теперь я хотел бы создать миниатюру при первом обращении к ней, а затем nginx доставит тот же файл через n. Если я удаляю этот файл миниатюр из-за меньшего доступа, он должен генерироваться автоматически в следующий раз. Миниатюры в моем случае также имеют водяные знаки, которые требуют некоторой логики вычислений моего приложения, поэтому модуль миниатюр веб-сервера может работать не очень хорошо.
Размер миниатюры может быть встроен в URL. Таким образом, http://www.example.com/thumbnail/abc_320x240.jpg получает размер миниатюры размером 320x240.
Подход, который я сейчас ищу, состоит в том, чтобы позволить nginx найти файл и, если он не существует, переслать запрос в мое приложение django, которое создаст миниатюру и отправит ответ или строку перенаправления. Однако я не уверен насчет проблем параллелизма и других проблем, которые могут появиться позже.
Каким образом это можно сделать?