Comment créer un déclencheur toutes les 30 secondes avec le cron d' un scénario

Bonjour

Je souhaiterai faire un déclencheur toutes les 30 secondes pour mon scenario ,malheureusement le cron utilisé ne va pas en dessous de la minute !

y a t’il un moyen de descendre sous la minute ?J’ai vu sur le forum qu’il y avait une possibilité de faire cela ,mais je ne sais pas si cela est possible directement dans le scénario

Geekflare – 26 Jul 15

Quelqu’un peut il m’expliquer ?

d’avance merci pour vos retours

Un peu de pub totalement désintéressée, regarde du côté du plugin « Time manager ».

Bonjour,

avec déclencheur programmé, toutes les minutes.

Sinon ton site explique que pour avoir des cron à la seconde avec la table cron, tu dois mettre une entrée à la minute et faire un sleep jusqu’à attendre la seconde qui t’intéresse.
Pas vraiment optimal.

1 « J'aime »

Salut
Je n’aurai pas dit mieux.
A moins de faire çà de façon ‹ sale › avec des sleep dans un scénario qui va déclencher l’autre scénario. Surement usine à gaz !

1 « J'aime »

Et puis le sleep c’est (du moins très souvent) le mal

Toute façon un scénario qui se lance toutes les 30s c’est très souvent une très mauvaise idée …

Merci à tous pour vos retours…et vos recommandations!!

Avant d’investir dans le plugin time manager, je vais tester la solution de Phpvarious pour vérifier dans un premier temps la stabilité de mon scénario en condition réelle et voir si cette piste de periodicité de 30 secondes doit etre maintenue ou pas .

2 « J'aime »

Bon cela fonctionne pour mes variables créées avec la proposition de Phpvarious mais il manque une phase supplémentaire (il faut réécrire le scenario ,bloc code pour moi ) à rajouter aprés le forcage du tag à 1.

Avec cela j’ai bien le lancement de mon scénario 2 fois par minute sinon sans cette phase je n’ai qu’un seul lancement par minute .
Reste à voir en exploitation réelle, sur le long terme et avec les autres déclencheurs non programmés

1 « J'aime »

Avec de telles fréquences de réveil, tu vas mettre ta box à genoux.

Pouvez vous developper votre argumentation svp…

30 secondes par rapport à des durées de quelques scénarios de quelques micro secondes voires milli secondes il n’y a pas de réelle surexploitation !Je vais surveiller la température de ma box au fil des jours

1 « J'aime »

Accessoirement, il n’y a pas que les scénarios qui tournent.
Les protocoles échangent des trames en permanence, Jeedom et Debian ont également besoin de temps CPU.
J’en passe et des meilleurs.
Donc, effectivement, on peut faire beaucoup de chose en 30s mais il faut laisser du temps pour tout le monde.
En plus, si tu mets des sleep, pour le coup tu as encore moins de temps CPU puisque le sleep est bloquant.

1 « J'aime »

Oui effectivement le sleep est un temps qui est gaspillé pour le processeur mais au pire cela fera planter le système voire faire surchauffer le Cpu pour cause d’utilisation à 100% . Pour l’instant je n’ai que 35 degrés derriere le radiateur du processeur pour une temperature ambiante de 20 °c …ce qui est vraiment peu !
J’ai vraiment pas un traffic de dingue à ce jour mais c’est vrai à surveiller quand même au fil du temps avec l’ajout de modules divers.

Encore Merci d’avoir pris le temps de répondre à mon problème !! :+1:

2 « J'aime »

Bonjour,

Je sais que sur ce site, il est habituelle de critiquer la fonction sleep mais ça ne bloque aucune ressource. C’est juste un thread qui est mis en mis en attente et qui sera réveillé le moment venu.

Donc ça ne consomme pas de CPU (juste pour le changement de contexte comme n’importe quel thread), ça a un impact minimum sur la mémoire (en général 8Ko par thread).

L’utilisation abusif de la fonction sleep n’est pas une bonne chose, mais ça reflète plus un problème de conception qu’un problèle de ressource.

2 « J'aime »

Bonjour,

Pour info, même le core utilise la méthode sleep pour executer les bloc DANS :wink:

2 « J'aime »

Personne n’a dit que le sleep etait interdit, simplement déconseillé. Sinon, cette classe aurait tout simplement été supprimée.
Entre mettre un sleep de quelques secondes exceptionnellement et de quelques dizaines de secondes toutes les 30 secondes, il y a une différence.

C’était juste une info :wink:

Je l’ai prise comme telle

Encore une légende urbaine …
Merci pour cette information technique. Ma prochaine nuit sereine est assurée, je dormirais encore moins bête ce soir :joy:

MERCIIIII @tomdom :

Merci @Phpvarious, enfin un début de réponse CONCRET !
On sait maintenant que remplacer un Sleep par un Dans, change la fonction (cela permet des choses différentes) mais pas l’impacte sur les ressources.

MERCI, MERCI, MERCI, MERCI !

Il faut donc les comparer en terme de fonction, pas de ressource !!!

Pour enfoncer le clou (qui commence à rouiller) :
Tester ICI , en 2021, même si certain n’était pas d’accord avec mon test « Empirique mais mieux que rien » sans proposer autre chose :