Page 1 sur 3

erreur de script lua à heure fixe

Publié : 10 avr. 2017, 22:42
par papoo
bonjour
j'ai régulièrement des erreurs de scripts du type

Code : Tout sélectionner

2017-04-10 06:00:14.172 Error: EventSystem: Warning!, script has been running for more than 10 seconds
2017-04-10 08:00:13.718 Error: EventSystem: Warning!, script has been running for more than 10 seconds
2017-04-10 11:00:12.516 Error: EventSystem: Warning!, script has been running for more than 10 seconds
ces erreurs sont toutes à heure fixe (ici 06:00; 08:00; 11:00)
Les scripts incriminés sont des script_time avec comme delay

Code : Tout sélectionner

if time.min % 5 == 0 then
je cherche donc à décaler le déclenchement de ces scripts d'une minute pour qu'ils ne se lance pas à xx:00 mais vous l'aurez compris à xx:01 et ensuite toute les 5 minutes.
j'ai trouvé une parade mais ce n'est pas hyper propre

Code : Tout sélectionner

if (time.min == 1 or time.min == 6 or time.min == 11 or time.min == 16 or time.min == 21 or time.min == 26 or time.min == 31 or time.min == 36 or time.min == 41 or time.min == 46 or time.min == 51 or time.min == 56) then

auriez vous une solution plus propre que celle-ci?

Re: erreur de script lua à heure fixe

Publié : 10 avr. 2017, 23:06
par Neutrino
Peut-être ça :

Code : Tout sélectionner

if ((time.min-1) % 5) == 0 then
Sinon, il faut optimiser ton script. Une requête un peux trop longue à répondre ?

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 14:48
par vil1driver
Ou

Code : Tout sélectionner

if ( time.min % 5 == 0 and time.min != 0 ) then
ou

Code : Tout sélectionner

if ( (time.min % 5 == 0 and time.min != 0) or time.min == 1 ) then

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 15:06
par papoo
Merci je teste tout ça

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 15:54
par domcars0
@vil1driver : Ce n'est pas vraiment ce que cherche à faire papoo :roll:
papoo a dit :
pour qu'ils ne se lance pas à xx:00 mais ... à xx:01 et ensuite toute les 5 minutes.
Je mise tout sur le code de Neutrino :D (qui a aussi raison quand il dit à papoo d'optimiser son code...).
D'ailleurs je ne vois pas pourquoi en décalant le moment de démarrage d'un script celui ci s'exécuterait plus vite?

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 16:10
par Koala45
ben moi j'aimerais démarrer un script à heure fixe mais je n'arrive pas...enfin si il démarre mais 36 milles fois :]

Heure_Debut="14:50"
Heure_Actuelle = os.date("%H:%M")

print ("All based event fired");
for deviceName,deviceValue in pairs(otherdevices) do
if Heure_Actuelle==Heure_Debut then
print ("c'est l'heure")
end
end

Résultat dans le log:
2017-04-11 14:50:01.477 LUA: c'est l'heure
2017-04-11 14:50:01.479 LUA: c'est l'heure
2017-04-11 14:50:01.483 LUA: c'est l'heure
2017-04-11 14:50:01.485 LUA: c'est l'heure
2017-04-11 14:50:01.486 LUA: c'est l'heur
ETC....

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 16:48
par vil1driver
domcars0 a écrit :@vil1driver : Ce n'est pas vraiment ce que cherche à faire papoo :roll:
papoo a dit :
pour qu'ils ne se lance pas à xx:00 mais ... à xx:01 et ensuite toute les 5 minutes.
j'ai répondu exactement à cela dans le 2eme code ;)

@Koala45,

le type doit être TIME ;)

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 16:52
par domcars0
vil1driver a écrit :
domcars0 a écrit :@vil1driver : Ce n'est pas vraiment ce que cherche à faire papoo :roll:
papoo a dit :
pour qu'ils ne se lance pas à xx:00 mais ... à xx:01 et ensuite toute les 5 minutes.
j'ai répondu exactement à cela ;)
Je n'ai pas l'impression. avec ton code, son script se lancera à xx:01 , puis 4 minutes plus tard et ensuite chaque 5 minutes...

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 16:57
par vil1driver
domcars0 a écrit : Je n'ai pas l'impression. avec ton code, son script se lancera à xx:01 , puis 4 minutes plus tard et ensuite chaque 5 minutes...
humm oui effectivement, mais là tu chipotes non ?

évidement vu comme ça, le code de Neutrino qui respect l'écart de 5min tout le temps est meilleurs (plus condensé également)

Re: erreur de script lua à heure fixe

Publié : 11 avr. 2017, 17:25
par domcars0
vil1driver a écrit :
domcars0 a écrit : Je n'ai pas l'impression. avec ton code, son script se lancera à xx:01 , puis 4 minutes plus tard et ensuite chaque 5 minutes...
humm oui effectivement, mais là tu chipotes non ?
?? Chipoter ? Je suis désolé, mais le code que tu proposes ne fait pas ce qu'il faut (il ne fonctionne qu'à la première minute de chaque heure :lol: ) . Ce n'est pas chipoter de dire ça ?
Le code de Neutrino n'est pas "meilleur", il fait ce qu'il faut, c'est tout, car pour qu'il fut meilleur que le tien encore eut-il fallu que tien fonctionne :roll: .