Sauvegarde valeur virtuel quand on vide le cache

Bonjour,
J’utilise quelques virtuels pour avoir des commandes, dont je reprends la valeur dans des scénarios. Pour la programmation du chauffage par exemple.
Mais je viens de réaliser que la valeur du virtuel est remise à zéro à chaque fois que je vide le cache jeedom (menu configuration / cache / vide )
Et je vide toujours le cache quand je développe mon nouveau widget qui ne marche pas (enregistrer widget / vider cache / rafraichir la page … )

Du coup la question: comment faire pour sauvegarder la valeur des virtuels avant vidage cache, et la remettre ensuite ?
je suis sur jeedom v3.3.39

Sauvegarde en base de données

ça m’intéresse aussi car en effet c’est assez penible, la commande est vide, même pour les binaires, il ne pourrait pas y avoir une fonctionne de stockage de la valeur ?

Bonjour,
La fonction de stockage de valeur c’est le cache vous videz le cache forcement vous perdez tous ce qu’il y a dedans. Il n’y a aucun moyen de faire autrement ni meme de raison de chercher a faire autrement, vous lui dite vide le cache il fait ce que vous demandez, si vous ne voulez pas perdre la valeur des commandes alors ne lui demandé pas d’effacer la valeur des commandes…

C clair on peut pas vider le cache sans vider le cache :grin:

Pour les widgets désactive le cache des widgets c tout

Et dessiner un chat vous savez ?

1 J'aime

bonjour Loïc

dans le cache je suppose qu’il y a plein d’autres choses, et pas que l’info des commandes, et un cache ne veut pas dire forcément perte d’Information, parfois on charge des infos en cache en provenance d’une sgbd par exemple, pour travailler plus vide avec les données mais en cas de vidage du cache l’info d’origine reste dans le sgbd.

Alors la question serait plutot, pourquoi les infos des commandes ne sont elles pas stockées en base et chargées dans le cache afin de ne pas perdre l’info si obligation de vider le cache, car se sont quand même des données qui sembles importantes

Simplement car sinon jeedom devient lent et tue les carte SD très rapidement. Crois moi que niveau code c’est compliqué la gestion actuellement et que j’aimerais bien tout mettre en bdd sauf que c’était le cas au debut de jeedom et un rpi ou autre carte du type n’arrivait pas a le faire tourner.

Faut vraiment arreter de croire que mes réponses sont la pour vous embeter et que c’est mon but, jeedom est reflechis et a de l’experience les choix qu’on a fait ne sont pas du au hasard, ca vous plait pas c’est une chose mais vous avez pas forcement tous les tenant et les aboutissant.

J’ai jamais pensé ca @Loic, je pose la question car j’aime bien comprendre et je respecte vos choix, merci pour l’explication

Après, sans vouloir insister, mais des décisions sont prises a un instant T et peuvent changer avec l’évolution du matériel de plus en plus performant, l’usage de la carte SD n’est peut être plus un usage très répandu,…
Ou laisser le choix, par une option globale ou par commande, aux utilisateurs suivant sa configuration, mais cela complexifie forcément le code :slight_smile:
C’est juste une remarque, pas une critique, merci pour ton retour

Une option c’est impossible tu imagine pas toute les consequences sur le code c’est en gros tout reecrire jeedom et tout les plugins (car ca pourra pas etre compatible).

En plus meme mtn avec une grosse config (nuc sur ssd) ben l’impact serait non negligeable (quelques 100 de ms un peu partout).

La vrai question c’est pourquoi vous videz le cache ? C’est la le soucis et faut arreter de demander des changement majeur (ca serait plus gros que toute les changements dans jeedom depuis son debut) car vous faite quelques chose qu’il ne faut pas (après c’est peut etre notre faut vous avez le bouton pour nettoyer le cache on devrait peut etre l’enlever)

Ça fait longtemps que j’ai pas eu a le faire personnellement

Le reboot vidait le cache a une époque mais ça doit plus être le cas ?

Une mise a jour jeedom vide le cache ? C’est pas tous les jours non plus :slight_smile:

Un système de sauvegarde qui Stock les valeurs des commandes dans un fichier a plat puis les remets dans le cache ?

Après c’était une idée comme ça mais on peut surement faire sans :slight_smile:

reboot vide le cache => non
mise à jour vide le cache => non
un systeme de sauvegarde du cache => c’est en place depuis des années ca tourne toute les 30min et tu as le status sur la page santé…

Je réponds donc à la vrai question :slight_smile: je demande pas ça juste pour t’embêter non plus, c’est juste que, en tant que développeur, j’ai besoin de vider le cache de mon widget que j’essaye de modifier, sinon la modif n’est pas appliquée. C’est logique le code du widget est aussi mis en cache comme la valeur du virtuel, je n’en avais pas pris conscience avant aujourd’hui.

Dans l’absolu, je devrais travailler sur un jeedom de test, et je n’aurais jamais besoin de vider le jeedom de prod de ma maison. Mais pour l’instant je n’ai qu’un seul RPI, d’où la question si c’était possible de vider le cache widget uniquement, pas le cache global.

Si pas possible je comprendrais hein, faut pas me développer une nouvelle fonctionnalité juste pour mes tests, c’est gentil de proposer mais c’était pas le but :wink:

Salut,

Comme déjà dit plus haut il existe un paramètre dans la configuration de jeedom en V4 pour désactiver le cache des widgets. Une simple case à cocher de mémoire…