J'utilise django staticfiles + django-storages et Amazon S3 pour héberger mes données. Tout fonctionne bien sauf que chaque fois que je cours manage.py collectstatic
la commande télécharge tous les fichiers sur le serveur.Django StaticFiles et Amazon S3: Comment détecter les fichiers modifiés?
Il semble que la commande de gestion compare les horodatages de Storage.modified_time()
qui ne sont pas implémentés dans le stockage S3 à partir de django-stockages.
Comment les gars déterminent-ils si un fichier S3 a été modifié?
Je pourrais stocker les chemins de fichiers et les dernières données modifiées dans ma base de données. Ou existe-t-il un moyen facile d'extraire les dernières données modifiées d'Amazon?
Une autre option: il semble que je puisse assigner des métadonnées arbitraires avec python-boto
où je pourrais mettre la date modifiée locale quand je télécharge la première fois.
De toute façon, il semble que ce soit un problème commun donc je voudrais demander quelle solution les autres ont utilisée. Merci!
Comment utilisez-vous la méthode modified_time? Exécuter uniquement ./manage.py collecstatic, ne fonctionne pas pour moi. Il utilise la méthode _save de botos3 pour enregistrer les fichiers, mais il ne vérifie pas à tout moment si le fichier est nouveau ou non. Quelle est ta solution? – duduklein
Cela semble ne plus être vrai: python-dateutil> 2.1 supporte maintenant Python 2 et 3 dans une base de code partagée et python-dateutil == 2.1 fonctionne bien pour moi avec botos3. –
Hey Yuji; Je cours dans ce même problème (collectstatics lent avec S3Boto avec plusieurs milliers de fichiers). Je me demande où vous vous en êtes rendu compte. Pourriez-vous résumer vos meilleures recommandations actuelles pour optimiser ce processus, puisque vous avez clairement passé beaucoup de temps à résoudre ce problème? –