Daemon Python ou daemon PHP pour effectuer une requête toutes les X secondes?

Bonjour,

J’ai passé le daemon du #plugin-jeeorangetv de Python 2 à Python 3 pour le rendre compatible Bullseye. Mais avant de pousser un PR, je me demande si ce daemon est vraiment nécessaire.
Sauf erreur de ma part, il n’y a pas vraiment de communication entre le plugin et le daemon, celui-ci est utilisé uniquement pour descendre en dessous du cron minute et effectuer une requête curl toutes les X secondes. Il n’y a donc pas de connexion permanente avec le décodeur.
L’appel dans le daemon :

L’appel de la fonction PHP :

La fonction PHP :

Qui appelle cette fonction :

Du coup, je me demande si un daemon Python est vraiment adapté pour faire cela, est-ce qu’un deamon PHP comme dans le #plugin-sonos3 ne serait pas plus simple ? Je ne cherche pas forcément la simplicité mais la méthode qui va consommer le moins de ressources possibles.

Bonjour,
Pas sur qu’il soit utile, pour moi l’utilité d’un démon c’est dans le cas où tu veux « écouter » un service extérieur pour réagir instantanément
Ici on dirait que c’est juste une commande jeedom qui déclenche une action curl pour interroger le demon du plugin ? c’est utile de descendre à la seconde, le cron minute ne suffirait pas ?

Salut @Spine,

A priori oui, si le démon actuel ne fait qu’appeler une fonction de refresh il sera plus simple et plus lisible de passer par un démon php à mon avis.

1 « J'aime »

Bonjour,

Merci pour vos retours.

Le curl envoie juste une requête au décodeur qui retourne un JSON pour mettre à jour les commandes info.

Pas pour moi, mais si je passe le retour d’etat de 5 secondes à 1 minute, les utilisateurs risquent de ne pas être content. :slightly_smiling_face:

Super, merci pour la confirmation, je viens de mettre en place un daemon PHP, ça fonctionne très bien, c’est beaucoup plus simple et en plus ça permet de supprimer les dépendances.

Je teste quelques jours sur ma prod. et je pousse un PR.

1 « J'aime »

Salut,
Je suis du même avis mais un détail à avoir en tête avec les démons php: ils vivent bien dans un thread php séparé donc les changements de config par exemple ne seront pas visible par le démon jusqu’à son redémarrage (car la class config « cache » les infos en mémoires par défaut, comportement que l’on peut modifier en forcant le fetch en db; mais il y aura d’autres cas).

Comme les démons python tu vas me dire? oui, mais c’est moins « intuitif » avec le démon php qui en fait est du code dans notre class eqLogic et donc on a vite oublié qu’il a son prorpre thread et on se retrouve à debug pendant 10min en se demandant comment cela se fait que les données ne sont pas à jour alors qu’il suffisait de redémarrer le démon (oui, c’est du vécu :grin:)

2 « J'aime »

Merci pour ces précisions, même si ça me semble assez logique, ça m’évitera peut-être de me faire avoir une prochaine fois.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.