Question Faire une boucle d'attente

Plus d'informations
il y a 2 ans 4 mois #31518 par Gabriel
Faire une boucle d'attente a été créé par Gabriel
Bonjour,
J'ai un problème simple, Faire une boucle d'attente d'environ 1h. Cela nécessite l'utilisation de montres et de dates pleins de pièges.
Je pars de la date de départ, obtenue par get-date et veut sortir de la boucle après un délai donné.disons 60 minutes.
J'ai imaginé que je peux définir une date de fin en ajoutant la durée de la boucle (60 minutes) à la date de départ. Puis boucler sur un start-sleep de par exemple 5 minutes jusqu'à ce que la date soit supérieure à la date de fin.
Il faut donc pouvoir comparer des différences de dates au délai de boucle. Et là j'ai du mal parce que 60 minutes ce n'est pas une date, mais un "TimeSpan". Une solution serait de tout convertir en ticks. Est-ce la meilleure ?

:) gabier

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 4 mois #31519 par PatriceLT
Réponse de PatriceLT sur le sujet Faire une boucle d'attente
Hello,

Après une petite recherche, j'ai trouvé ça, je pense que c'est un début :

www.it-swarm-fr.com/fr/datetime/dans-pow...eure-unix/970355299/

Cela te permet de mettre une date de début et de fin, via un New-TimeSpan, et de le convertir en secondes ou autre.

Ensuite une boucle suffit avec le résultat de cette commande, voir un Start-Sleep du résultat du New-TimeSpan.

Je n'ai pas pu tester, mais cela me semble cohérent.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 4 mois #31520 par Gabriel
Réponse de Gabriel sur le sujet Faire une boucle d'attente
Bonjour Patrice,
Merci pour l'info. J'ai fait ma boucle et elle fonctionne. Je l'ai agrémentée d'un suivi de progression toutes les 5 mn. J'ai trouvé plus sûr de manipuler mes dates en Ticks (pour les additions et soustractions)
$Delay=60
$ts=(new-timespan -minutes $Delay).Ticks
$DateDebTicks=(get-date).Ticks
$DateFinTicks=((Get-date).AddTicks($ts)).Ticks
Do
{
Start-Sleep -s 300
$DatecourTicks=(get-date).Ticks
$Done=($DateCourTicks-$DateDebTicks)/($DateFinTicks - $DateDebTicks)
write-output "$(get-date) Done = $Done"
}while ($DateCourTicks -le $DateFinTicks)

:) gabier

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.067 secondes
Propulsé par Kunena