[..] Comment gérer les boucles sans fin sans arreter autoit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
cortx
Niveau 5
Niveau 5
Messages : 115
Enregistré le : dim. 04 mai 2008 16:10
Status : Hors ligne

[..] Comment gérer les boucles sans fin sans arreter autoit

#1

Message par cortx »

Bonjour;

J'aurais une question concernant les "planté" d'Autoit

Ma société à développé un programme en Autoit qui nous permet de faire beaucoup d'automatisation.
L'exemple le plus parlant est une fonction qui nous permet de lancer une connexion à distance automatique sur des serveurs TSE, VNC etc.

Dans l'application de départ (une GUI) je choisi la connexion que je veux ouvrir en sélectionnant le nom du client et le nom du serveur, je clique sur lancer et roule, l'application lance automatiquement VNC (par exemple), rentre les informations de connexion, IP, mot de passe, identifiant si il y a besoin, tout jusqu'à ce qu'il me rende la main dans un environnement complètement lancé.

Or si il y a un problème durant ce traitement, genre la connexion ne se fait pas car la machine est arreté ou qu'il y a une maintenance sur la machine et que les accès ont été coupé, et bien le traitement boucle sur lui même.
Les contrôles qui ont été mis, je pense, attendent un nom de fenêtre spécifique ou un retour d'API et tant qu'il ne l'ont pas, bah c'est mort.
Même problème si on choisi un mauvais utilisateur ou la sélection d'une mauvaise fenêtre pour le lancement d'un automatisme.

Le gros souci que ca pose, c'est que comme c'est une GUI Autoit qui à lancé le script de connexion, et bien la GUI (L'application de base si vous préféré), elle, est en mode "Freeze" (je ne connais pas le terme exact).
Pour illustrer la conséquence, si on à deux menu déroulant, l'un avec le nom du client et l'autre le nom de la machine qui correspond et qui se met à jours en fonction du premier menu déroulant, on peux changer le premier mais le second ne s'actualise pas. Opération, j'accepte les nouvelles informations mais je ne les traites pas tant que je n'ai pas fini mon premier script. (Souci du multi tache connu d'autoit)
Moralité je suis obligé de killé complètement mon application primaire afin de casser le script en cours et de TOUT relancer

J'ai remarqué donc qu'en bas de l'écran, dans la zone de notification Windows, il y a le petit bouton de script autoit qui apparait, signe qu'un traitement est en cours.
Si on clic droit dessus, il est possible de le mettre en pause, ce qui au final vautre carrément le traitement car meme si on reclique sur Pause par la suite, rien ne se reprend.

Donc ma question est:
Existe il une façon, lorsque un script plante, de lui dire de s'arrêter et de reprendre son cours normal sans arrêter l'ensemble du programme.
En gros je veux juste qu'il sorte de sa boucle.
Dans mon cas, le script dans un boucle en attente d'une info, l'utilisateur dit STOP tu t'arrête là et tu me rends la main et là le script s'arrête, rend la main à l'utilisateur comme si rien ne s'était passé.

Sachant que je n'ai moi même pas accès aux sources du programme, existe il un moyen qui soit le moins intrusif possible (dans le code source) afin que je puisse le présenter sans dire au dev: Ton travail c'est de la m.... ca marche mal et on est obliger de tout relancer à chaque fois.

Bonne semaine.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Comment gérer les boucles sans fin sans arreter autoit

#2

Message par timmalos »

Je pense que la partie la plus dure sera de 'reprendre la ou il en est' quasi impossible sans toucher au code source.
Dans le meilleur des cas, si c'est possible, il faudra creer un script supplémentaire tournant H24 ce qui est très lourd, je vous conseille d'en parler au DEV, voir de lui dire qu'il a fait de la m...., car lui pourra regler ce problème facilement avec son code source sans emcombrer les machines de services inutiles.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Comment gérer les boucles sans fin sans arreter autoit

#3

Message par Tlem »

+1
C'est au développeur de rajouter les contrôles nécessaires.
Si il ne fait plus partie de la société, vous devez vous procurer les sources afin de pouvoir le faire vous 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é".
cortx
Niveau 5
Niveau 5
Messages : 115
Enregistré le : dim. 04 mai 2008 16:10
Status : Hors ligne

Re: [..] Comment gérer les boucles sans fin sans arreter autoit

#4

Message par cortx »

OK, je vais faire remonter ca.
En espérant que les sources soit encore dispo.

Merci.
Répondre