Bonjour,
J’ai depuis le début du plugin un bug sur le lancement de cron().
Le cron se lance bien toutes les minutes, mais si je fais sauvegarder l’équipement, de temps en temps le cron n’exécute plus la commande
J’ai rajouté des logs dans le cron:
public static function cron() {
log::add('hottoh', 'debug', 'Cron');
if ($_eqLogic_id == null) { // La fonction n’a pas d’argument donc on recherche tous les équipements du plugin
$eqLogics = self::byType('hottoh', true);
} else {// La fonction a l’argument id(unique) d’un équipement(eqLogic)
$eqLogics = array(self::byId($_eqLogic_id));
}
foreach ($eqLogics as $hottoh) {//parcours tous les équipements du plugin hottoh
if ($hottoh->getIsEnable() == 1) {//vérifie que l'équipement est actif
$cmd = $hottoh->getCmd(null, 'refresh');//retourne la commande "refresh si elle existe
log::add('hottoh', 'debug', 'Cron_refresh');
if (!is_object($cmd)) {//Si la commande n'existe pas
continue; //continue la boucle
}
log::add('hottoh', 'debug', 'Cron_refresh execution commande');
$cmd->execCmd(); // la commande existe on la lance
}
}
}
[2019-11-04 08:35:12][DEBUG] : Cron
[2019-11-04 08:35:12][DEBUG] : Cron_refresh
[2019-11-04 08:35:12][DEBUG] : Cron_refresh execution commande
[2019-11-04 08:35:12][DEBUG] : Lecture_parametre
[2019-11-04 08:35:12][DEBUG] : Connection au serveur 192.168.0.250:5001
[2019-11-04 08:35:12][DEBUG] : Requete_1#00001A---0002DATR0;EEC2
[2019-11-04 08:35:12][DEBUG] : Reponse_1#00001A---0059DATR0;65;0;1;12;0;0;0;0;205;220;50;350;-435;0;0;0;-435;0;0;0;462;0;1;1;5;0;5;5;5;1;1;5;5;5;5;B8BC
[2019-11-04 08:35:12][DEBUG] : Requete_2#00002A---0002DATR2;6B85
[2019-11-04 08:35:12][DEBUG] : Reponse_2#00002A---0032DATR2;1;0;0;0;0;-435;0;0;0;-435;0;0;0;0;0;0;0;0;0;0;0;D7D8
[2019-11-04 08:35:12][DEBUG] : Requete_3#00003A---0002DATR1;902A
[2019-11-04 08:35:12][DEBUG] : Reponse_3#00003A---0027DATR1;0;185;50;350;200;100;350;220;100;350;FBA9
[2019-11-04 08:35:12][DEBUG] : test etat stove0:36
[2019-11-04 08:35:12][DEBUG] : Rafraichissement des informations du poele
[2019-11-04 08:35:12][DEBUG] : postsave
[2019-11-04 08:35:13][DEBUG] : t2
[2019-11-04 08:35:13][DEBUG] : postsaveFIN
[2019-11-04 08:36:04][DEBUG] : Cron
[2019-11-04 08:36:04][DEBUG] : Cron_refresh
[2019-11-04 08:36:40][DEBUG] : presave
[2019-11-04 08:36:40][DEBUG] : postupdate
[2019-11-04 08:36:40][DEBUG] : Cron
[2019-11-04 08:36:40][DEBUG] : Cron_refresh
[2019-11-04 08:36:40][DEBUG] : postsave
[2019-11-04 08:36:40][DEBUG] : t2
[2019-11-04 08:36:40][DEBUG] : postsaveFIN
[2019-11-04 08:37:03][DEBUG] : Cron
[2019-11-04 08:37:03][DEBUG] : Cron_refresh
[2019-11-04 08:37:03][DEBUG] : Cron_refresh execution commande
[2019-11-04 08:37:03][DEBUG] : Lecture_parametre
[2019-11-04 08:37:03][DEBUG] : Connection au serveur 192.168.0.250:5001
[2019-11-04 08:37:03][DEBUG] : Requete_1#00001A---0002DATR0;EEC2
[2019-11-04 08:37:03][DEBUG] : Reponse_1#00001A---0059DATR0;65;0;1;12;0;0;0;0;205;220;50;350;-435;0;0;0;-435;0;0;0;457;0;1;1;5;0;5;5;5;1;1;5;5;5;5;1785
[2019-11-04 08:37:03][DEBUG] : Requete_2#00002A---0002DATR2;6B85
[2019-11-04 08:37:03][DEBUG] : Reponse_2#00002A---0032DATR2;1;0;0;0;0;-435;0;0;0;-435;0;0;0;0;0;0;0;0;0;0;0;D7D8
[2019-11-04 08:37:03][DEBUG] : Requete_3#00003A---0002DATR1;902A
[2019-11-04 08:37:03][DEBUG] : Reponse_3#00003A---0027DATR1;0;185;50;350;200;100;350;220;100;350;FBA9
[2019-11-04 08:37:03][DEBUG] : test etat stove0:36
[2019-11-04 08:37:04][DEBUG] : Rafraichissement des informations du poele
Au début la commande refresh s’execute, si je lance une sauvegarde
Je n’ai plus Cron_refresh execution commande dans les logs et la commande ne s’exécute pas
Si je relance une sauvegarde, j’ai a nouveau l’exécution de la commande!
Bref une fois sur 2 l’appuie sur le bouton sauvegarder, j’ai bug sur la commande:
if (!is_object($cmd)) {//Si la commande n'existe pas
EDIT> Je me demande si il ne faut arrêter le cron avant la sauvegarde et le relancer après la sauvegarde?