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
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 :
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
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
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

(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
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
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

) . 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

.