Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2010, 11h23   #1
Futur Membre du Club
 
Inscription : octobre 2002
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 41
Points : 18
Points : 18
Par défaut Timers et changement d'heure

Bonjour,

J'ai un petit soucis:
J'utilise un timer pour exécuter périodiquement une fonction:

Code :
IdTimer = setInterval('snddata()',1000);
Tout cela marche très bien, sauf qu'il est possible qu'une autre application vienne changer l'heure de la machine.
Lorsque l'heure est avancée, ce n'est pas très grave, le timer s'exécute instantanément, mais lorsque l'heure recule, le timer ne s'exécutera pas avant que l'heure ait rattrapé l'heure initiale.

Est-il possible de contourner ce problème?
Masterglob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 11h48   #2
Membre régulier
 
Inscription : juillet 2003
Messages : 89
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 89
Points : 90
Points : 90
Bonjour,

Tu ne vas pas trop avoir le choix, puisque le problème vient d'un évènement extérieur.

As-tu essayé setTimeout() pour savoir si cette fonction a le même problème ?
JulienC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 11h53   #3
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
^^ Une bidouille éventuelle :

>>> Une fonction exécutée à intervalles réguliers (par ex. toutes les minutes, mais à adapter en fonction de l'importance dans le contexte), qui va venir surveiller la valeur du timer, et la réduit à 1000 si elle est supérieure.

C'est pas beau et si quelqu'un a une idée plus élégante, ça ne sera pas du luxe ^^

edit : heu... J'ai soudain l'impression de creuser un deuxième trou pour stocker la terre du premier... non ça ne va pas. Quand l'heure de la machine va changer, le timer de surveillance va être autant dans les choux que le premier Oublie cette idée
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 12h31   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
salut,

tu lances l'action tous les combien en vrai? tu peux donner un ptit poil plus de précisions sur ton script?

tu ne peux pas tester l'heure régulièrement, histoire de repartir du bon pied en cas de mise à jour extérieure?
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 14h41   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
Citation:
Envoyé par javatwister Voir le message
tu ne peux pas tester l'heure régulièrement, histoire de repartir du bon pied en cas de mise à jour extérieure?
Ben c'est justement le souci...
Quand tu dis "régulièrement" tu penses à quoi concrètement si ce n'est ni setTimeout ni setInterval ?
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 14h43   #6
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
oui forcément c'est l'un ou l'autre!
mais quand même, on verrait plus clair avec des infos euh... plus claires;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 15h24   #7
Futur Membre du Club
 
Inscription : octobre 2002
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 41
Points : 18
Points : 18
En l'occurrence, toutes les secondes.
Je peux essayer avec setTimeout, mais je pense que la gestion en interne est la même et de toutes façons quand l'heure va reculer, le timeout ne s'écoulera pas non plus.
Masterglob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h35.


 
 
 
 
Partenaires

Hébergement Web