Question boucle infinie

Plus d'informations
il y a 7 ans 6 mois #27583 par thvp
boucle infinie a été créé par thvp
Bonjour @ tous,

je débute et dois mettre en place un traitement des commandes générées par un portail qui envoie des fichiers xml dans un répertoire sur un serveur

voici en gros ce que le traitement doit faire

do until end of live

if commandes.xml not exist
echo pas de nouvelle commande
else trt


là ou je bloque c'est la boucle jusqu'à la fin de vie
est-ce que quelqu'un peut m'éclairer ou me donner une piste

merci à tous
thvp<br><br>Message édité par: thvp, à: 20/09/18 16:04

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27584 par Philippe
Réponse de Philippe sur le sujet Re:boucle infinie
salut thvp

pour une boucle tu peu faire ça :
[code:1]
do {
# ton traitement
}
while (1)[/code:1]
mais généralement ont fais plutot une tache planifier windows qui execute le script à intervalle régulier toutes les 30s, 10s voir moins suivant le traitement<br><br>Message édité par: 6ratgus, à: 20/09/18 16:37

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27585 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:boucle infinie
Salut,
un filewatcher peut aussi convenir.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27586 par thvp
Réponse de thvp sur le sujet Re:boucle infinie
hello tlm,

Merci pour vos réponse, j'ai choisi d'implémenter la solution
du FileSystemWatcher

[code:1]# To stop the monitoring, run the following commands:
# Unregister-Event FileDeleted
# Unregister-Event FileCreated
# Unregister-Event FileChanged

######################################################################
#
# Description : Fonction qui surveille l'arrivée des nouvelles commandes
#
#
#
######################################################################


Function Start-FileSystemWatcher {

$NewCommandfolder = 'C:\nouvelles commandes'
$Filter = '*.xml'
$InProgressCommandFolder = 'C:\commandes en cours'
$Fsw = New-Object IO.FileSystemWatcher $NewCommandfolder, $Filter -Property @{
IncludeSubdirectories = $false;
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}

# déclenchement d'un évènement sur création du fichier d'une nouvelle commande
$OnCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$Path = $Event.SourceEventArgs.FullPath
$Name = $Event.SourceEventArgs.Name
$ChangeType = $Event.SourceEventArgs.ChangeType
$TimeStamp = $Event.TimeGenerated


#Traitement principal
Main ($Path,$Name,$ChangeType,$TimeStamp)

Move-Item $Path -Destination $InProgressCommandFolder -Force -Verbose
}


}


######################################################################
#
# Description : Fonction qui assure le traitement principal
# qui reçoit en paramètres le chemin, le nom, le type de changement,
# le moment ou le fichier a été créer
#
######################################################################


Function Main ($Path,$Name,$ChangeType,$TimeStamp){

Write-Host \&quot;The file\&quot; $Path \&quot;was\&quot; $ChangeType \&quot;at\&quot; $TimeStamp

}


# Démarrage de la surveillance
Start-FileSystemWatcher[/code:1]<br><br>Message édité par: thvp, à: 24/09/18 07:05

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena