Aide pour un script
Poda
-
PODA -
PODA -
Voici un script que je fais tourner chaque 5 mns par le runner sur mon poste pour réinitialiser les utilisateurs qui sont parfois déconnectés de ma BD. Mon problème est que lorsque deux occurences se chevauchent, mon script se plante. Comment dire à la deuxième occurence d'attendre la fin de la première avant de se lancer.
echo off
sqlplus der/vil@vildb @c:\maj\maj.sql
Merci
echo off
sqlplus der/vil@vildb @c:\maj\maj.sql
Merci
3 réponses
-
Bonjour,
Le plus simple, à mon avis, serait de créer un champ dans une table qui indique si un script est en cours d'exécution ou non.
Au début de ton script, tu vérifies ce champ ; s'il indique qu'une occurrence est en cours, il s'arrête là (ou il attend, suivant tes besoins). Si aucune occurrence n'est en cours, il modifie cette valeur pour dire qu'il y a un script qui tourne. À la fin de son travail, il remet la valeur pour dire qu'il a fini.
Xavier
PS : un problème quand même, si le script se plante, le paramètre restera marqué comme "script en cours". On peut contourner le problème en indiquant une date de début d'exécution, et en considérant que si le paramètre indique qu'un script tourne depuis plus d'une heure, on considère qu'aucun script ne tourne. -
Quelqu'un peut-il m'indiquer comment intoduire une boucle dans le scprit ci-dessous afin quil ne se morde pas la queue c'est-à-dire que la seconde ocurence ne s'exécute pas tant que la première n'est pas finie.
echo off
sqlplus der/vil@vildb @c:\maj\maj.sql
Merci -
hello
echo off if exist %TMP%\lock ( echo message exit ) echo %0 en exécution > %TMP%\lock sqlplus der/vil@vildb @c:\maj\maj.sql del %TMP%\lock