Development #26620
sources de données : possibilité de définir une durée de mise en cache
0%
Description
Certaines sources de données ont des contenus très stables, plutôt qu'avoir à systématiquement appeler passerelle, on pourrait garder le résultat en cache.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-misc-add-cache-duration-option-to-named-data-sources.patch 0001-misc-add-cache-duration-option-to-named-data-sources.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 5 ans
Attention, le cache n'est pas multitenant ; soit ajouter le nom du tenant dans la clé, soit créer un adaptateur du genre de TenantCache dans hobo.multitenant.cache
Mis à jour par Frédéric Péters il y a plus de 5 ans
Le cache est bien multitenant (cf wcs/cache.py, WcsTenantCache).
Mis à jour par Thomas Noël il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Pffff... désolé... fichue mémoire...
Je verrais bien un commentaire autour du cache.set, qui rappelle rapidement qu'il s'agit de constituer un cache "permanent", alors que celui du dessus est un cache juste lié à la requête.
Mis à jour par Thomas Noël il y a plus de 5 ans
Je me dis quand même que ça va poser le classique problème de l'invalidation du cache
Sur un fichier CSV distant, l'envie sera de poser un cache d'une heure... mais alors il faudra attendre 1 heure lors de la mise à jour du fichier CSV :-/
Peut-être faudrait-il expliquer cela dans l'UI, et/ou y proposer un système d'invalidation du cache.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Oui j'avais pensé à un bouton "invalider" mais ce n'est pas évident, il faudrait préfixer la clé du cache par l'id de la source de données et pouvoir lister toutes les clés par préfixe (ce que ne permet pas l'API). (ou alors un bouton pour faire un .clear() global, mais ça concernera vraisemblablement les autres tenants aussi).
Mis à jour par Thomas Noël il y a plus de 5 ans
- Statut changé de Solution validée à En cours
Yep... pour moi tant qu'on n'a pas de système d'invalidation, il faut dans l'UI soit inciter à ne pas dépasser genre 15 minutes et/ou rappeler "clairement" l'impact de ce cache.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-misc-add-cache-duration-option-to-named-data-sources.patch 0001-misc-add-cache-duration-option-to-named-data-sources.patch ajouté
- Statut changé de En cours à Solution proposée
Je veux bien un ticket différent pour forcer l'invalidation.
+ hint=_('Caching data will improve performances but will keep changes ' + 'from being visible immediately. You should keep this duration ' + 'reasonably short.'),
Mis à jour par Thomas Noël il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
(ah, peut-être voulu, je ne connais pas les règles typos des english, mais y'a deux espaces devant " You should keep this ...")
Mis à jour par Frédéric Péters il y a plus de 5 ans
C'est usuel de taper deux espaces mais de toute façon une fois rendu en HTML ça sera invisible.
(ce ticket est pour la prochaine version)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 9a57fd3dab6e7fbef085c7efc15b62a5002b051d Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat Sep 22 11:24:43 2018 +0200 misc: add cache duration option to named data sources (#26620)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: add cache duration option to named data sources (#26620)