Il y a quelques temps j'ai développé un service avec un watcher
sur un répertoire. A l'arrivée de fichiers avec une extension précise
je lance un script précis.
Comme je ne voulais pas que les traitements se chevauchent
j'ai ajouté une bloucle d'attente sur la fin du processus en question
et tout allait très bien.
Maintenant j'ai tout un tas de types de fichiers qui peuvent arriver
avec différents scripts associés le tout stocké en bdd.
A chaque nouveau fichier je regarde dans la bdd à quel script
il correspond et je voudrais lancer ce script seulement si y en a pas un
de ce type déjà en cours. On peut d'une manière ou d'une autre détecter
que ce type de script est déjà lancé mais après comment le relancer
sur le fichier déjà récupéré par le watcher si ce n'est le stocker en
mémoire ?
Et sinon y a-t il plus simple ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sébastien Curutchet
La première idée qui me vient, est de créer un pool par type de fichier. Tu rajoutes dans le pool les nouveaux fichiers à traiter. Pour ce qui est d'empêcher que le même traitement se lance deux fois et ce "en même temps", utilises la -- Sébastien Curutchet MVP VB (répond aussi aux question .NET et C# : faut bien se reconvertir ;) ) Membre de la communauté dotnet.developpez.com méthode des sections critiques : mot clé lock, classe Monitor, etc ...
"mc" a écrit dans le message de news:4117cbf7$0$306$
Bonjour,
Il y a quelques temps j'ai développé un service avec un watcher sur un répertoire. A l'arrivée de fichiers avec une extension précise je lance un script précis. Comme je ne voulais pas que les traitements se chevauchent j'ai ajouté une bloucle d'attente sur la fin du processus en question et tout allait très bien.
Maintenant j'ai tout un tas de types de fichiers qui peuvent arriver avec différents scripts associés le tout stocké en bdd. A chaque nouveau fichier je regarde dans la bdd à quel script il correspond et je voudrais lancer ce script seulement si y en a pas un de ce type déjà en cours. On peut d'une manière ou d'une autre détecter que ce type de script est déjà lancé mais après comment le relancer sur le fichier déjà récupéré par le watcher si ce n'est le stocker en mémoire ? Et sinon y a-t il plus simple ?
Merci d'avance.
mc
La première idée qui me vient, est de créer un pool par type de fichier. Tu
rajoutes dans le pool les nouveaux fichiers à traiter.
Pour ce qui est d'empêcher que le même traitement se lance deux fois et ce
"en même temps", utilises la
--
Sébastien Curutchet
MVP VB (répond aussi aux question .NET et C# : faut bien se reconvertir ;) )
Membre de la communauté dotnet.developpez.com méthode des sections critiques
: mot clé lock, classe Monitor, etc ...
"mc" <mcnews@club-internenet.fr> a écrit dans le message de
news:4117cbf7$0$306$7a628cd7@news.club-internet.fr...
Bonjour,
Il y a quelques temps j'ai développé un service avec un watcher
sur un répertoire. A l'arrivée de fichiers avec une extension précise
je lance un script précis.
Comme je ne voulais pas que les traitements se chevauchent
j'ai ajouté une bloucle d'attente sur la fin du processus en question
et tout allait très bien.
Maintenant j'ai tout un tas de types de fichiers qui peuvent arriver
avec différents scripts associés le tout stocké en bdd.
A chaque nouveau fichier je regarde dans la bdd à quel script
il correspond et je voudrais lancer ce script seulement si y en a pas un
de ce type déjà en cours. On peut d'une manière ou d'une autre détecter
que ce type de script est déjà lancé mais après comment le relancer
sur le fichier déjà récupéré par le watcher si ce n'est le stocker en
mémoire ?
Et sinon y a-t il plus simple ?
La première idée qui me vient, est de créer un pool par type de fichier. Tu rajoutes dans le pool les nouveaux fichiers à traiter. Pour ce qui est d'empêcher que le même traitement se lance deux fois et ce "en même temps", utilises la -- Sébastien Curutchet MVP VB (répond aussi aux question .NET et C# : faut bien se reconvertir ;) ) Membre de la communauté dotnet.developpez.com méthode des sections critiques : mot clé lock, classe Monitor, etc ...
"mc" a écrit dans le message de news:4117cbf7$0$306$
Bonjour,
Il y a quelques temps j'ai développé un service avec un watcher sur un répertoire. A l'arrivée de fichiers avec une extension précise je lance un script précis. Comme je ne voulais pas que les traitements se chevauchent j'ai ajouté une bloucle d'attente sur la fin du processus en question et tout allait très bien.
Maintenant j'ai tout un tas de types de fichiers qui peuvent arriver avec différents scripts associés le tout stocké en bdd. A chaque nouveau fichier je regarde dans la bdd à quel script il correspond et je voudrais lancer ce script seulement si y en a pas un de ce type déjà en cours. On peut d'une manière ou d'une autre détecter que ce type de script est déjà lancé mais après comment le relancer sur le fichier déjà récupéré par le watcher si ce n'est le stocker en mémoire ? Et sinon y a-t il plus simple ?