Bug sur la création de la commande "isReacheable"

Bonjour,

J’ai fait pas mal de tests, dans certains cas la commande isReacheable est crée, dans d’autres non.

J’ai fait pas mal de debug dans le code et j’en conclus qu’il y a le problème suivant :

  • La commande est parfois crée avant, parfois après l’import des commandes listées dans le fichier json. L’import du fichier json de commande supprime toutes les commandes et par voie de conséquence supprime aussi parfois la commande isReacheable qui venait d’être crée.
  • Le problème fondamental vient du fait que la fonction postSave est appelée récursivement jusqu’à quatre fois pendant l’enregistrement avec un ordre de commande qui n’est plus possible de maitriser :
[2021-07-05 14:26:49][DEBUG] : debut post-save0 avec LCF002 et LCG002
[2021-07-05 14:26:49][DEBUG] : changement de type de module
[2021-07-05 14:26:49][DEBUG] : debut apply modul conf avec device = LCG002 et applyDevice = LCF002
[2021-07-05 14:26:49][DEBUG] : debut post-save1 avec LCG002 et LCG002
[2021-07-05 14:26:49][DEBUG] : creation de la commande isreachable
[2021-07-05 14:26:49][DEBUG] : fin post-save2
[2021-07-05 14:26:49][DEBUG] : milieu apply modul conf
[2021-07-05 14:26:49][DEBUG] : on lance device parameters
[2021-07-05 14:26:49][DEBUG] : on importe un device
[2021-07-05 14:26:49][DEBUG] : debut post-save2 avec LCG002 et LCG002
[2021-07-05 14:26:49][DEBUG] : creation de la commande isreachable
[2021-07-05 14:26:49][DEBUG] : fin post-save3
[2021-07-05 14:26:49][DEBUG] : fin de limport device
[2021-07-05 14:26:49][DEBUG] : fin de lapplication de la conf du module
[2021-07-05 14:26:49][DEBUG] : commande isreachable trouvée
[2021-07-05 14:26:49][DEBUG] : fin post-save3

Je pense donc qu’il y a un vrai enjeu a simplifier cette fonction postSave pour éviter les appels récursifs et pour maitriser l’ordre de création des commandes.

A dispo.
Olivier.