Je veux générer des miniatures d'images à la volée.Création de miniatures à la demande avec django et nginx
Mon site est construit avec django et déployé en utilisant nginx qui sert tout le contenu statique et communique avec django/apache en utilisant le proxy inverse.
À l'heure actuelle, pour chaque image de mon site, je génère toutes les tailles de vignettes requises et les livre au besoin. Le problème est que chaque fois que je change la taille d'une vignette, je dois les régénérer tous (et ils sont des tonnes).
Cependant maintenant je voudrais générer la vignette la première fois que l'on y accède et plus tard nginx livrerait le même fichier sur n plus de. Si je supprime ce fichier vignette à cause d'un accès moindre, il devrait être généré automatiquement la prochaine fois. Les vignettes dans mon cas ont également des filigranes qui nécessitent une logique de calcul de mon application, de sorte qu'un module de vignette de serveur web pourrait ne pas fonctionner très bien.
La taille de la vignette peut être intégrée dans l'URL. Donc http://www.example.com/thumbnail/abc_320x240.jpg obtient la taille 320x240 de la vignette. L'approche que je cherche en ce moment est de laisser nginx chercher le fichier et s'il n'existe pas, transmettre la requête à mon application django qui créerait la vignette et enverrait la réponse ou une chaîne de redirection. Cependant, je ne suis pas sûr des problèmes de concurrence et d'autres problèmes qui pourraient apparaître plus tard.
Quel est le moyen approprié pour y parvenir?