En fait j'ai un serveur dédier sous Linux (Debian) sur lequel se trouve un script python que je souhaite exécuter depuis mon appli AutoIt.
Pour cela, je me connecte à mon serveur via plink.exe et je lui envoie la ligne de commande (qui inclus les paramètres de connexion au serveur ainsi que les instructions pour l’exécution du dit script).
J'ai eu un peu de mal, mais ça aussi ça fonctionne, seulement le traitement est relativement long et je souhaiterai pouvoir suivre l’évolution du traitement depuis AutoIt, dans un GUICtrlCreateEdit(). En effet mon script depuis la console (en ssh) affiche une progression en % ainsi que le suivis des étapes du processus.
Je souhaiterai afficher cette progression dans AutoIt.
J'ai d'abord pensé à écrire cette progression dans un fichier, sous forme de log via la commande ">" de Linux.
Je me retrouve donc un fichier log.txt (sur mon serveur) qui s'écrit au fur et à mesure du processus.
C'est le contenu de ce fichier que je souhaite afficher ou si il existe une technique plus adaptée, c'est encore mieux.
La première étape consiste à télécharger le fichier pour le stocker ee local avec InetGet() puisque InetRead() me retourne un résultat en hexadecimal (pas en console mais une fois dans le GUI)
Code : Tout sélectionner
$file = InetGet($remoteLog,'log.txt',1)
J'affiche, le contenu de ce fichier txt dans mon GUI avec.
Code : Tout sélectionner
For $i = 1 To _FileCountLines('log.txt')
GUICtrlSetData($Edit1, GUICtrlRead($Edit1)&@CRLF&FileReadLine('log.txt', $i))
Next
En effet, je télécharge le fichier mais celui-ci n'existe pas encore à cette étape. Pour cela, il faut que je télécharge le fichier log une fois celui-ci créé, c'est tout à fait logique.
Pour simuler ce comportement, j'ajoute un Sleep(), dans de cas, mon fichier est bel et bien téléchargé en local, mais ne contient que les premières instructions (puisque le traitement n'est pas terminé côté serveur).
Comment dois-je procéder pour récupérer en temps réel les informations de mon fichier log.txt distant ? et l'afficher dans mon GUI pendant son écriture ?
Ou alors comment puis-je récupérer le contenu de ma fenêtre plink.exe, lancée via la commande suivante:
Code : Tout sélectionner
Local $pid = Run('plink.exe -load '&$session&' '&$cli&' > log.txt', '', @SW_HIDE)
Ça doit être faisable avec (opt_flag) avec STDIN... mais je n'y suis pas parvenu pour le moment.
Dans l'idéale, je souhaiterai également afficher une barre de progression, mais visiblement je n'ai pas encore asses d'expérience pour réaliser cela.
D'avance merci.