On voit bien l’enchainement deamon_info, pid_file exist, posix_getsid et launchable ok à chaque fois mais dès que le deamon restart il manque le pid_file exist et donc le posix_getsid.
C’est donc visiblement ici que j’ai un soucis toutes les 5mn mais pourquoi ?
$pid_file = jeedom::getTmpFolder(__CLASS__) . '/deamon.pid';
if (file_exists($pid_file)) {
[2023-08-05 18:04:59]INFO : deamon_info
[2023-08-05 18:04:59]INFO : pid_file exist
[2023-08-05 18:04:59]INFO : posix_getsid
[2023-08-05 18:04:59]INFO : launchable ok
[2023-08-05 18:05:02]INFO : | [Start] Nettoyage des enregistrements de Maison
[2023-08-05 18:05:02]INFO : | Durée de conservation : 1 h
[2023-08-05 18:05:02]INFO : | Suppression de 0 enregistrements
[2023-08-05 18:05:02]INFO : | [End] Nettoyage des enregistrements de Maison
[2023-08-05 18:05:04]INFO : deamon_info
[2023-08-05 18:05:04]INFO : pid_file exist
[2023-08-05 18:05:04]INFO : posix_getsid
[2023-08-05 18:05:04]INFO : launchable ok
[2023-08-05 18:05:04]INFO : deamon_info
[2023-08-05 18:05:04]INFO : pid_file exist
[2023-08-05 18:05:04]INFO : posix_getsid
[2023-08-05 18:05:04]INFO : launchable ok
[2023-08-05 18:05:04]INFO : deamon_info
[2023-08-05 18:05:04]INFO : deamon_info
[2023-08-05 18:05:04]INFO : pid_file exist
[2023-08-05 18:05:04]INFO : pid_file exist
[2023-08-05 18:05:04]INFO : posix_getsid
[2023-08-05 18:05:04]INFO : posix_getsid
[2023-08-05 18:05:04]INFO : launchable ok
[2023-08-05 18:05:04]INFO : launchable ok
[2023-08-05 18:05:05]INFO : deamon_info
[2023-08-05 18:05:05]INFO : pid_file exist
[2023-08-05 18:05:05]INFO : posix_getsid
[2023-08-05 18:05:05]INFO : launchable ok
[2023-08-05 18:05:06]INFO : >> deamon_info <<
[2023-08-05 18:05:06]INFO : >> launchable ok <<
[2023-08-05 18:05:06]ERROR : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2023-08-05 18:05:07]INFO : deamon_info
[2023-08-05 18:05:07]INFO : launchable ok
[2023-08-05 18:05:07]INFO : Exécution du démon
Oui, c’est pas systématique mais en effet, je sais pas pourquoi.
J’ai ajouté des infos sur la partie deamon_start et deamon_stop
[2023-08-05 18:30:08][INFO] : deamon_info
[2023-08-05 18:30:08][INFO] : pid_file : /tmp/jeedom/blitzortung/deamon.pid
[2023-08-05 18:30:08][INFO] : pid_file exist
[2023-08-05 18:30:08][INFO] : launchable ok
[2023-08-05 18:30:08][INFO] : deamon_stop <<<<<
[2023-08-05 18:30:08][INFO] : pid_file : /tmp/jeedom/blitzortung/deamon.pid <<<<<
[2023-08-05 18:30:08][INFO] : kill pid <<<<<
[2023-08-05 18:30:09][INFO] : deamon_info
[2023-08-05 18:30:09][INFO] : pid_file : /tmp/jeedom/blitzortung/deamon.pid
[2023-08-05 18:30:09][INFO] : launchable ok
[2023-08-05 18:30:09][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2023-08-05 18:30:09][INFO] : deamon_start
[2023-08-05 18:30:09][INFO] : deamon_stop
[2023-08-05 18:30:09][INFO] : pid_file : /tmp/jeedom/blitzortung/deamon.pid
[2023-08-05 18:30:10][INFO] : deamon_info
[2023-08-05 18:30:10][INFO] : pid_file : /tmp/jeedom/blitzortung/deamon.pid
[2023-08-05 18:30:10][INFO] : launchable ok
On voit le lancement d’un deamon_stop() alors que rien ne semble poser problème dans la partie info … c’est donc évidemment pour ça que le prochain deamon_info ne voit plus le pid.
Est-ce que ça pourrait être lié à la gestion des dépendances lors de l’éxécution de checkDeamon par le core ? J’ai un peu de mal à analyser l’ensemble des fonctions de la plugin.class.php
Première fois que j’utilise le package.json …
Si jamais le core veut checker et relancer des dépendances il stop le deamon avant.
Je pense pas avoir fait de boulette, si ?
Quelque chose aurait été corrigé en 4.4 là dessus ?
Oui cest possible, cest le chemin que javais commencé a suivre, mais je viens de partir a l’apéro .
Vu que tu as pas de dépendances, possible quil faille supprimer le fichier package.
Si j’ai bien une dépendant à installer mais je laisse le core gérer avec package.json qui est dispo depuis la 4.3 je crois.
Est-ce qu’il faut quand même mettre un "hasDependency": true, dans ce cas ?
@Loic je serais pas contre une petite analyse si tu as quelques minutes parce que du coup je patauge
Edit : Je crois que j’ai trouvé … c’était parti en vrille à force et même en manuelle le state était KO
J’ai vu un process python qui tournait, je l’ai kill, redémarré manuellement puis passé en automatique, il tient depuis plus de 5mn … à confirmer !
Bonjour
Je sais pas trop quoi te dire jeedom se base sur le status du démon si nok il le redémarre rien de plus côté core. Ça serait moi je mettrais des logs sur la fonction qui renvoi le status du démon elle doit renvoyer un nok a jn moment.
Je n’ai pas vu dans les posts de Loic qu’il fallait aussi indiquer qu’il y avait des dépendances, cette info doit justement être pour l’ancienne méthode d’installation des dépendances.
Pour mes plugins où je suis passé par le package.json je l’ai spécifié dans le info.json malgré tout.
Faudrait vérifier le code du core (ou attendre le retour d’un expert de la question)
@Bison ca pourrait peut etre etre interessant que tu ajoutes une log ligne 749 dans ce fichier
Pour voir si le redemarrage de ton demon ne vient pas d une reinstall (auto?) ici
En revenche se qui me « choc » façon de dire
, c’est qu’en utilisant packages.json et hasDependency a false, il n’y a plus la tuile Dépendances dans la config du plugin, c’est pourquoi au début vu tes captures je pensai que tu n’avais pas de dépendances
Oui j’ai aussi remarqué ça, on ne voit pas qu’il se passe quelque chose …
Du coup vous recommandez de mettre un "hasDependency": true, au moins pour qu’un affichage des dépendances soient affichées ?