verification ouverture Wswin et Weatherlink + tâches plan.

Et là comme son nom l’indique un forum pour dire quelque chose qui ne rentre pas dans un des différents forums ci-dessus, réclamer, critiquer, améliorer, parler quoi !
Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

verification ouverture Wswin et Weatherlink + tâches plan.

Message par Tudgur » 13 févr. 2011, 09:49

Bonjour,
Suite aux propositions de jackT sur le sujet "Vantage Pro2, rafales à 0 km/h et WsWin ?" je me demandais si on ne pouvait pas utiliser son verifie_wswin.bat pour les tâches planifiées...
Je suis donc allé voir de plus près comment je procédais et je pense qu'il y a un soucis.
Pour rappel, toutes les 5 minutes une taches planifiée est censée vérifier que Wswin ou Weatherlink ne sont pas ouverts et au cas où l'app ouverte est tuée puis wswin est démarré avec le paramètre /auto.
Voici les fichiers utilisés pour démarrer Wswin toutes les 5 minutes.
Tout d'abord WSWIN_START.BAT

Code : Tout sélectionner

@echo off
echo ########################################################################
echo #                  "ATTENTION Mise a jour !!!"                         #
echo ########################################################################

%windir%\system32\taskkill.exe /f /im "WeatherLink592.exe"
%windir%\system32\taskkill.exe /f /im "wswin32.exe"

sleep 2
d:
cd utilitaires
cd scripts

start WSWIN_START.CMD
qui ouvre donc WSWIN_START.CMD que voici :

Code : Tout sélectionner

@echo off
echo #START.CMD#
FOR /F "tokens=2" %%I in ('TASKLIST /NH /FI "IMAGENAME eq Wswin32.exe"' ) DO SET PID=%%I
echo %PID%
IF not "%PID%"=="aucune" goto passe ELSE goto ouvre

:ouvre
FOR /F "tokens=2" %%I in ('TASKLIST /NH /FI "IMAGENAME eq WeatherLink592.exe"' ) DO SET PID=%%I
echo %PID%
IF not "%PID%"=="aucune" goto passe ELSE goto ouvre2

:ouvre2
start /d"d:\utilitaires\Wswin32" Wswin32.exe /AUTO

:passe
echo #Fin du traitement#
exit
Mais je pense que ces deux fichiers ne sont pas utilisés dans le bon ordre.
Si Wswin et/ou Weatherlink étaient ouverts au moment où la tâche planifiée est lancée, ils seront tués par taskkill de WSWIN_START.BAT et donc dans le fichier WSWIN_START.CMD il n'y a que la ligne start /d"d:\utilitaires\Wswin32" Wswin32.exe /AUTO qui est utile...

Il me semble qu'il faudrait commencer par vérifier que WsWin et/ou Weatherlink sont ouverts ou pas.
--> si l'un d'eux (ou les deux ?) est (sont) ouvert(s), c'est qu'à priori il(s) est(sont) planté(s) et taskill est alors utilisé puis Wswin est démarré.
--> si aucun n'est ouvert, Wswin est démarré.


Il faudrait donc remettre de l'ordre là-dedans et dans un seul fichier .bat
D'autre part, jackT nous a proposé l'exécutable nircmd.exe avec closeprocess et killprocess : ces commandes ne seraient-elles pas préférables à taskkill ?

Je vous demande donc de l'aide pour remettre un peu d'ordre là-dedans !
Merci
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par jackT » 13 févr. 2011, 12:24

Comme tu lance wswin en mode "/auto", je part du principe que quand la tâche planifiée qui doit lancer Wswin, on s'attend à ce que la tâche ne fonctionne pas.

Voici une proposition de script pour le lancement de Wswin :

Code : Tout sélectionner

nircmd.exe  closeprocess WeatherLink592.exe
nircmd.exe  cmdwait 10000 killprocess WeatherLink592.exe
nircmd.exe killprocess Wswin32.exe
start /d"d:\utilitaires\Wswin32" Wswin32.exe /AUTO
Dans ce contexte, je pense qu'il ne sert à rien d'écrire du code pour vérifier si les logiciels sont en exécution ou pas :
- Si Weatherlink tourne, il faut alors l'arrêter. Les commandes closeprocess et killprocess (si Weatherlink est planté) sont là pour ça.
- Si Weatherlink est arrêté, les commandes closeprocess et killprocess n'auront aucun effet.
- Si wswin est arrêté (comportement attendu), la commande killprocess n'aura aucun effet
- Si wswin est encore en exécution, cela signifie qu'il n'est pas parvenu à se fermer tout seul, et la commande nircmd killprocess va alors tuer la tâche
Modifié en dernier par jackT le 13 févr. 2011, 12:27, modifié 1 fois.

Lud29
Participation 0
Participation 0
Messages : 45
Enregistré le : 03 janv. 2008, 11:29
Localisation : Plabennec (29)
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Lud29 » 13 févr. 2011, 12:26

Salut,

J’utilise une version un peu similaire de ces fichiers et pour moi il n’y a pas de soucis…
Ton « echo #"ATTENTION Mise à jour !!!"# » n’a pas d’intérêt si tu fais pas un « sleep » avant les « taskkill ». Tu n’as pas le temps de sortir manuellement de Weatherlink ou Wswin si la tâche se lance !
Certes les deux tests dans WSWIN_START.CMD n’ont pas grand intérêt mais ils gênent en rien l’exécution de ta tâche ! Ce deuxième fichier est dans mon cas parfois utilisé directement manuellement, les tests évitent d’ouvrir simultanément deux Wswin ou Weatherlink et Wswin , pour éviter les conflits sur le port COM.

A+

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 13:19

Merci jackT.
Pour le script c'est donc tout à fait ce que je pensais... par contre je ne comprends pas ta phrase :
jackT a écrit :Comme tu lance wswin en mode "/auto", je part du principe que quand la tâche planifiée qui doit lancer Wswin, on s'attend à ce que la tâche ne fonctionne pas.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 13:27

Salut Lud29 !
Lud29 a écrit : Ton « echo #"ATTENTION Mise à jour !!!"# » n’a pas d’intérêt si tu fais pas un « sleep » avant les « taskkill ». Tu n’as pas le temps de sortir manuellement de Weatherlink ou Wswin si la tâche se lance !
Oui, c'est sûr. Mais le PC n'étant dédié qu'à la météo, si je veux arrêter le fonctionnement de Wswin ou Weatherlink pour une modif quelconque, je désactive simplement les tâches concernées. Mais effectivement, cet "echo" ne sert à rien.
Lud29 a écrit :Certes les deux tests dans WSWIN_START.CMD n’ont pas grand intérêt mais ils gênent en rien l’exécution de ta tâche !
Non, ils ne gênent rien mais ne servent à rien non plus et je viens seulement de m'en apercevoir alors que j'utilise ces fichiers depuis ...?
Lud29 a écrit :Ce deuxième fichier est dans mon cas parfois utilisé directement manuellement, les tests évitent d’ouvrir simultanément deux Wswin ou Weatherlink et Wswin , pour éviter les conflits sur le port COM.
Là d'accord, et c'est aussi ce que je fais, évidemment.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par jackT » 13 févr. 2011, 13:33

Tudgur a écrit :par contre je ne comprends pas ta phrase :
jackT a écrit :Comme tu lance wswin en mode "/auto", je part du principe que quand la tâche planifiée qui doit lancer Wswin, on s'attend à ce que la tâche ne fonctionne pas.
Ce que je voulais dire, c'est qu'on s'attend à ce que wswin se ferme par ses propres moyens et donc qu'il ne fonctionne pas lorsque le tâche planifiée démarre. Si ce n'était pas le cas, j'aurai rajouté un "closeprocess Wswin32.exe"

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 13:48

jackT a écrit :Ce que je voulais dire, c'est qu'on s'attend à ce que wswin se ferme par ses propres moyens et donc qu'il ne fonctionne pas lorsque le tâche planifiée démarre. Si ce n'était pas le cas, j'aurai rajouté un "closeprocess Wswin32.exe"
OK ! Mais j'avais quand même bien compris que cette ligne était inutile.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 13:50

Tudgur a écrit :Salut Lud29 !
Lud29 a écrit : Ton « echo #"ATTENTION Mise à jour !!!"# » n’a pas d’intérêt si tu fais pas un « sleep » avant les « taskkill ». Tu n’as pas le temps de sortir manuellement de Weatherlink ou Wswin si la tâche se lance !
Oui, c'est sûr. Mais le PC n'étant dédié qu'à la météo, si je veux arrêter le fonctionnement de Wswin ou Weatherlink pour une modif quelconque, je désactive simplement les tâches concernées. Mais effectivement, cet "echo" ne sert à rien.
Edit : je vais remettre un sleep puisqu'il m'arrive d'oublier de réactiver la tâche et dans ce cas, plus de mise à jour du site !
Lud29 a écrit :Certes les deux tests dans WSWIN_START.CMD n’ont pas grand intérêt mais ils gênent en rien l’exécution de ta tâche !
Non, ils ne gênent rien mais ne servent à rien non plus et je viens seulement de m'en apercevoir alors que j'utilise ces fichiers depuis ...?
Lud29 a écrit :Ce deuxième fichier est dans mon cas parfois utilisé directement manuellement, les tests évitent d’ouvrir simultanément deux Wswin ou Weatherlink et Wswin , pour éviter les conflits sur le port COM.
Là d'accord, et c'est aussi ce que je fais, évidemment.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 15:27

Depuis peut-être deux ans j'utilise le script suivant pour démarrer manuellement Wswin, par exemple pour des corrections de rafales, de pluvio, etc.

Code : Tout sélectionner

@echo off
FOR /F "tokens=2" %%I in ('TASKLIST /NH /FI "IMAGENAME eq Wswin32.exe"' ) DO SET PID=%%I
echo %PID%
IF not "%PID%"=="aucune" goto passe ELSE goto ouvre

:ouvre
FOR /F "tokens=2" %%I in ('TASKLIST /NH /FI "IMAGENAME eq WeatherLink592.exe"' ) DO SET PID=%%I
echo %PID%
IF not "%PID%"=="aucune" goto passe ELSE goto ouvre2

:ouvre2
start /d"d:\utilitaires\Wswin32" Wswin32.exe

:passe
exit
Wswin et Weatherlink sont toujours fermés quand j'utilise ce batch. ( et dans ce cas seule la ligne start est utile !)
Mais je constate qu'avec ce fichier, si wswin et/ou weatherlink sont ouverts, ce batch ne les ferme pas.
Il y manque donc des commandes pour fermer(ou tuer) wswin et/ou weatherlink s'ils étaient ouverts...

Edit :
Je peux sans doute utiliser ceci :

Code : Tout sélectionner

nircmd.exe closeprocess Wswin32.exe
nircmd.exe closeprocess Weatherlink592.exe
start /d"d:\utilitaires\Wswin32" Wswin32.exe
A priori, si l'un des deux était planté, ça se verrait...
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par jackT » 13 févr. 2011, 18:10

Tudgur a écrit :Depuis peut-être deux ans j'utilise le script suivant pour démarrer manuellement Wswin, par exemple pour des corrections de rafales, de pluvio, etc.
:?: :?: Pour ouvrir manuellement wswin, n'est-il pas plus simple de double cliquer sur le raccourci que wswin a créé sur le bureau lors de son installation ?
Tudgur a écrit :Mais je constate qu'avec ce fichier, si wswin et/ou weatherlink sont ouverts, ce batch ne les ferme pas.
Oui, car ce script n'est pas fait pour fermer Wswin. je ne sais plus maintenant dans quel contexte il a été créé, mais le seul but de ce script est de vérifier si wswin est en exécution et si il ne l'est pas, de démarrer wswin.

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 13 févr. 2011, 19:03

jackT a écrit :Pour ouvrir manuellement wswin, n'est-il pas plus simple de double cliquer sur le raccourci que wswin a créé sur le bureau lors de son installation ?
Oui bien sûr ! C'est en fait ce que je faisais auparavant puisque mon script ne servait à rien ! :oops:
Maintenant, si on veut s'assurer que Wswin et/ou weatherlink ne sont pas déjà ouverts et éventuellement cachés derrière une autre fenêtre quand on intervient sur le PC...
Mais j'en conviens, ce n'est pas très utile...En général le bureau est vide et il n'y a guère à intervenir que sur wswin ou weatherlink, donc pas d'autre fenêtre d'ouverte.
Et pourquoi faire simple quand on faire compliqué ? :bigrin:
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 14 févr. 2011, 18:27

doublon :oops:
Modifié en dernier par Tudgur le 14 févr. 2011, 20:03, modifié 1 fois.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 14 févr. 2011, 18:30

Voici donc une nouvelle mouture, beaucoup plus simple, de mes scripts d'ouverture de Weatherlink et Wswin par les tâche planifiées.
Une tâches ouvre le fichier suivant toutes les 30 min, à xxh28 et xxh58 :

Code : Tout sélectionner

@echo off
echo #########################################################################
echo #              "ATTENTION Mise a jour de WeatherLink !!!"               #
echo #########################################################################
sleep 5

nircmd.exe  closeprocess Wswin32.exe
nircmd.exe  cmdwait 2000 killprocess Wswin32.exe
start /d"d:\utilitaires\WeatherLink" WeatherLink.exe
nircmd.exe  cmdwait 70000 closeprocess WeatherLink.exe
nircmd.exe  cmdwait 2000 killprocess WeatherLink.exe
Le sleep de 5s est suffisant pour arrêter la tâche au besoin.
Puis Wswin est fermé proprement au cas où il serait resté ouvert sur "Aucune donnée reçue de la station sans fil"
S'il ne peut pas être fermé proprement, il est tué.
Weatherlink est démarré.
Au bout de 1min10s, (le temps de créer les fichiers noaa, le fichier pour StatIC et les transférer dans un sous répertoire de Wswin/html) Weatherlink est fermé proprement. (Je n'utilise donc plus winclose que l'on ne pouvait paramétrer que par pas de 1 min)
En cas de non fermeture, Weatherlink est tué.

Une autre tâche démarre Wswin toutes les 5 min à partir de xxh00 :

Code : Tout sélectionner

@echo off
echo #########################################################################
echo #                 "ATTENTION Mise a jour de WsWin !!!"                  #
echo #########################################################################
sleep 5

nircmd.exe killprocess WeatherLink.exe
nircmd.exe killprocess Wswin32.exe
start /d"d:\utilitaires\Wswin32" Wswin32.exe /AUTO
5s pour arrêter la tâche au besoin.
Puis, au cas où, Weatherlink est tué (mais je pense que cette ligne est inutile puisque normalement la tâche précédente a déjà fermé ou tué weatherlink).
Wswin est tué au cas ou la tâche précédente ne l'aurait pas arrêté
Wswin est démarré en mode auto et il sera arrêté automatiquement à l'ouverture du soft FTP.(au plus tard à xxhx1min30s et xxhx6min30s)

D'autre part, pour des interventions manuelles sur l'un ou l'autre des deux softs, je me contente du raccourci classique.
Voilà, merci à vous et spécialement à jackT pour sa patience, ses connaissances et sa disponibilité.
Lorsque j'ai téléchargé nircmd, j'ai constaté que je l'avais déjà sur mon disque dur ; mais je n'avais pas pris la peine de me documenter sur cet exécutable.
Modifié en dernier par Tudgur le 14 févr. 2011, 20:08, modifié 2 fois.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par Tudgur » 14 févr. 2011, 18:33

C'est quoi ce binzz ? maintenant c'est un "triblon"
Modifié en dernier par Tudgur le 14 févr. 2011, 20:06, modifié 1 fois.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: verification ouverture Wswin et Weatherlink + tâches pla

Message par webmaster » 14 févr. 2011, 19:34

Bonsoir,

Pourquoi cites-tu deux fois ton propre message ?
Cordialement

Rieux

Répondre