j’ai un soucis avec la fonction Post Save :
Il est noté qu’elle s’exécute à la fin de la sauvegarde de l’équipement .( donc équipement mise à jour )
j’utilise cette fonction pour relancer mon demon quand je modifie mon équipement .
Mon démon va lire l’équipement avec un ( foreach (self::byType(‹ var ›) as $var) mais les changements ne sont pas pris en compte . Par contre si je re sauvegarde une deuxième fois la ça marche .
J’ai donc l’impression que les changements au niveau de l’équipement ce font seulement quand je quitte la fonction postsave .
il n’y pas de différence entre postsave et presave est ce normal ?
je suis sur Jeedom V4.05
oui c’est bien le phénomène que je rencontre , le démon se relance bien dans la fonction postSave donc il devrait prendre en compte les nouveaux paramètres de l’équipement mais ce n’est pas le cas . J’ai fais plusieurs essais avant de poster ce message mais je ne comprend pas .
il y a peut être une erreur sur mon code quelque part qui génère ce phénomène ?
en regardant de plus près seul les commandes de l’équipement ne sont pas mise à jour .
C’est à dire que sur l’onglet équipement les champs notés se mettent bien à jour ,
Sur l’onglet commande les commandes ne se mettent pas à jour .
commande foreach ($var->getCmd(‹ info ›) as $cmd) qui n’est pas mise à jour en fait
j’ai mis un post save dans la classe monplugincmd extends qui apelle le redémarrage du démon qui est situé dans la class monpluginextends eqlogic et la tous à planté ma VM n’a jamais voulut redémarrer , savez vous pourquoi ? voici un petit exemple de ce que ça donnait .
class monplugin extends eqLogic {
public static function deamon_start(){
etc …}
}
class monpluginCmd extends cmd {
public function postSave() {
monplugin::deamon_start();
}
}
EDIT ___________________________________________________________________________
J’ai remonté une vm refais l’ essais aujourd’hui et ça fonctionne bien , a mon avis j’avais oublié un } ou une ; quelques par et je lançais des threads en boucle jusqu’ a planter la vm .
par contre il me relance autant de fois le démon qu’il y a de commande de créer , va falloir que je fasse un petit bout de code pour relancer si seulement il y a une nouvelle commande info
Je n’ai toujours pas solutionné mon probléme de PostSave ,
Le fait d’avoir mis un post save au niveau des commandes cela me relance autant de fois le démond qu’il y a de commande .
Donc le fonctionnement est le suivant :
Quand je clique sur sauvegarder , le post save s’éxecute sur chaque commande c’est bien ça ?
Moi ce que je souhaite c’est à la fin de la sauvegarde des commandes relancer mon démon pour qu’il prenne en compte les nouvelles valeurs .
Comment puis je procéder ? ( désolé mais c’est mon premier plugin je débute )