[R] Vérifier le temps d'execution d'un script
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Vérifier le temps d'execution d'un script
Bonjour,
je souhaiterais vérifier le temps d'exécution d'un script.
Par exemple, j'ai un script qui installe automatiquement une application, et je souhaiterais, en parallèle pouvoir déclencher un script (par exemple un message box) si mon installation venait à s'éterniser. C'est à dire si ca fait plus de 5 min que mon script a été exécuté et qu'il devrait avoir fini depuis longtemps, j'ai un retour du problème.
Merci.
je souhaiterais vérifier le temps d'exécution d'un script.
Par exemple, j'ai un script qui installe automatiquement une application, et je souhaiterais, en parallèle pouvoir déclencher un script (par exemple un message box) si mon installation venait à s'éterniser. C'est à dire si ca fait plus de 5 min que mon script a été exécuté et qu'il devrait avoir fini depuis longtemps, j'ai un retour du problème.
Merci.
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: Verifié le temps d'execution d'un script
Ben, pour ca le plus simple est de nomer le script compilé avec un nom bien distinctif (donc autre que setup.exe etc.)
Enssuite, tu lance un autre .exe (le lancement peut tres bien se faire dans le 1er script)
avec dedant un truc du genre
Edit : Tu doit aussi pouvoir tout faire dans ton propre script, si la peur est juste qu'il tourne en rond, et pas qu'il plante.
pour ca un TimerInit() au début, puis peut etre un AdlibEnable() avec un TimerDiff() et une condition pour tout stoper
Enssuite, tu lance un autre .exe (le lancement peut tres bien se faire dans le 1er script)
avec dedant un truc du genre
Code : Tout sélectionner
ProcessWait ("monsuperprogramme.exe") ; attendre que monsuperprogramme.exe se lance
Sleep (1000*60*5) ; dodo 5min
If ProcessExists ("monsuperprogramme.exe") Then ProcessClose ("monsuperprogramme.exe")pour ca un TimerInit() au début, puis peut etre un AdlibEnable() avec un TimerDiff() et une condition pour tout stoper
Signez ici
Re: Verifié le temps d'execution d'un script
Merci beaucoup pour ta réponse !!
C'est exactement ce que je voulais !!
Merci !
C'est exactement ce que je voulais !!
Merci !
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: Verifié le temps d'execution d'un script
Mais de rien !
Par contre je te conseil vivement la 2em solution si tu a plusieur instal (ca evitera que l'une ferme l'autre)
et egalement de lire ce post sur la presentation des messages
Par contre je te conseil vivement la 2em solution si tu a plusieur instal (ca evitera que l'une ferme l'autre)
et egalement de lire ce post sur la presentation des messages
Signez ici
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: Verifié le temps d'execution d'un script
@johnfive
Merci de prendre le temps de lire les règles de présentation d'un message.
En ce qui concerne votre problème, pour ma part je ferait une simple fonction dans mon script qui serait appelée par un AdlibEnable et qui vérifierait la durée d'exécution du script lui même.
Merci de prendre le temps de lire les règles de présentation d'un message.
En ce qui concerne votre problème, pour ma part je ferait une simple fonction dans mon script qui serait appelée par un AdlibEnable et qui vérifierait la durée d'exécution du script lui même.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [R] Vérifier le temps d'execution d'un script
Oui, je viens d'ailleurs de regarder AdlibEnable dans la doc.
Si j'ai bien compris le principe, AdlibEnable exécute une fonction tous les temps "t" (250ms par défaut)
Mais par exemple, si je veux vérifier que mon script de téléchargement (via InetGet) n'est pas coincé, comment faire ?
Autre chose, si je met un sleep dans la fonction myadlib(), par exemple :
Est-ce que cela va bloquer mon script ?
Autrement dit : Est-ce que la fonction myadlib() est exécuté en parallèle de mon script ?
Si j'ai bien compris le principe, AdlibEnable exécute une fonction tous les temps "t" (250ms par défaut)
Code : Tout sélectionner
AdlibEnable("myadlib")
;...
Exit
Func myadlib()
If WinActive("Error") Then
;...
EndIf
EndFunc
Autre chose, si je met un sleep dans la fonction myadlib(), par exemple :
Code : Tout sélectionner
AdlibEnable("myadlib")
;...
Exit
Func myadlib()
sleep(5000)
If WinActive("Error") Then
;...
EndIf
EndFunc
Autrement dit : Est-ce que la fonction myadlib() est exécuté en parallèle de mon script ?
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [R] Vérifier le temps d'execution d'un script
Pour le sleep, je suis pas bien sur, mais je crois bien qu'il bloque le rest (a confirmer)
sinon, la fonction InetGet() va de paire avec les macro @InetGetActive et @InetGetBytesRead.
Je serais toi, je lancerais la fonction en parralelle tout les 10 seconde (ca me semble raisonable) et si @InetGetBytesRead n'a pas changé, c'est qu'il y a un bug !
edit code :
sinon, la fonction InetGet() va de paire avec les macro @InetGetActive et @InetGetBytesRead.
Je serais toi, je lancerais la fonction en parralelle tout les 10 seconde (ca me semble raisonable) et si @InetGetBytesRead n'a pas changé, c'est qu'il y a un bug !
edit code :
Code : Tout sélectionner
Global $byteDL = "NULL"
AdlibEnable("myadlib",10*1000)
;...
Exit
Func myadlib()
If $byteDL <> @InetGetBytesRead Then
$byteDL = @InetGetBytesRead
Else
MsgBox("","","BUUUUUUG !!!")
EndIf
EndFuncSignez ici
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Vérifier le temps d'execution d'un script
La question du multitache avec AutoIt à déjà été abordée de nombreuses fois.
Mais pour la Xième fois, oui une pause prolongée dans le processus du script bloque l'exécution de AdlibEnable, et une pause dans une fonction appelée par AdlibEnable bloque le reste du script.
A vous de concevoir intelligemment vos fonctions pour qu'elles ne soient pas bloquantes.
Mais pour la Xième fois, oui une pause prolongée dans le processus du script bloque l'exécution de AdlibEnable, et une pause dans une fonction appelée par AdlibEnable bloque le reste du script.
A vous de concevoir intelligemment vos fonctions pour qu'elles ne soient pas bloquantes.
Code : Tout sélectionner
AdlibEnable("myadlib", 5000)
;...
Exit
Func myadlib()
If WinActive("Error") Then
;...
EndIf
EndFuncThierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

