Question
Limiter nombre processus powershell.exe
- remg
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
Nous avons un système de transfert de fichier d'implanter au sein de notre entreprise.
Un client dépose des fichier dans un dossier sur un serveur et ses fichiers sont redirigé vers d'autres emplacements/serveurs selon la nomenclature des fichier. Ce déplacement s'effectue avec un script powershell et ce script est déclenché selon un \"Folder Watch\" qui est intégré à notre logiciel de solution pour le transfert des fichiers.
EX: Le client dépose 20 fichiers cela démarre 20 scripts powershell pour déplacer les fichiers dans les bons dossiers.
Ma question: Est-ce possible de \"limiter\" le nombre d'instance du processus powershell.exe car si le client dépose 30 000 fichiers d'une traite, le serveur crash car il n'arrive pas à démarrer 30 000 processus de powershell en même temps.
Nous avons aucun contrôle sur la fréquence et le nombre de fichiers que le client dépose.
Pour la traçabilité des transferts, le script de déplacement des fichiers doit être lancé par notre logiciel de transfert. (Il ne peut être lancé par un céduleur autre)
J'ai exploré certains sites qui parlent de Job en background dans powershell. Mais lorsque notre logiciel lance 30 000 script powershell comment indiquer que les jobs doivent êtres lancé en background job et qu'il y a EX 20 job en background max?
Merci d'avance!
Rémi
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
remg écrit:
Sans connaitre l'architecture utilisée difficile de répondre.Ma question: Est-ce possible de \"limiter\" le nombre d'instance du processus powershell.exe
Pourquoi ne pas utiliser un langage de type C# ou C pour ce type de traitement ?
Quand tu parles de logiciel c'est unqiuement du Powershell ?
Sinon les jobs peuvent être une solution, voir les runspacePools , mais là la notion de service pointe le bout de son nez
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- remg
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
Présentement nous utilisons des scripts batch et des scripts Powershell car c'est les 2 type de langage que nous sommes familier avec.
Le transfret entre les serveurs s'effectue par le logiciel sur un protocole propriétaire au logiciel.
Aucun fichier réside dans la zone DMZ ce qui sécurise les fichiers. Il y a évidement des coupe feu entre les zones.
Car le coeur du problème est que 1 fichier entrant du client = 1 script powershell qui démarre.
Il aurait possibilité de faire rouler le script comme un service?
Est-ce quelque chose de difficile à implanté?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Je parlais d'archi co^té logiciel, désolé.L'architecture de notre système comporte plusieurs serveurs,
remg écrit:
C'est bien ce que je supposais.Présentement nous utilisons des scripts batch et des scripts Powershell car c'est les 2 type de langage que nous sommes familier avec.
remg écrit:
Non, enfin je ne pensais pas à çaIl aurait possibilité de faire rouler le script comme un service?
remg écrit:
En PS,oui ou plutot il n'est pas adapté.Est-ce quelque chose de difficile à implanté?
Mais j'ai du mal à comprendre qui implémente la surveillance du répertoire. Vos scripts sont déclenchés par un soft externe et ne font que la copie ?<br><br>Message édité par: Laurent Dardenne, à: 10/05/12 23:09
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- remg
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
www.tibco.com/products/soa/multi-enterpr...transfer/default.jsp
Dans MFT, il y a un transfert qui s'effectue automatiquement du serveur dans la zone DMZ vers la zone APP. Par la suite nous décidons ou les fichiers sont déposés.
Le folder watch se fait \"built-in\" dans l’application, nous indiquons le dossier à surveiller et quelle action à exécuter quand il y a un fichier à l'intérieur du dossier. (Envoyer un email, déplacer le fichier, démarer un script...)
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
A mon avis, si tu veux contrôler le nb de process PS il faut que tu centralises les appels de traitement déclenchés lors de la réception d'un fichier.Le folder watch se fait \"built-in\" dans l’application, nous indiquons le dossier à surveiller et quelle action à exécuter quand il y a un fichier à l'intérieur du dossier. (Envoyer un email, déplacer le fichier, démarer un script...)
Tout en implémentant une persistence du reste à faire.
Par exemple si tu utilises une file d'attente,en cas de reboot de ton serveur, au redémarrage tu dois reprendre les traitements restant à faire.
La difficulté est plus dans la reprise en cas d'incident, enfin si tu souhaites une reprise
A moins que ton produit propose déjà ce type de fonctionnalité ou que les fichiers soient supprimées une fois le traitement effectué (dans ce cas le reste à faire est connu).
Donc avant de parler implémentation, il te faut étudier un peu plus le sujet...<br><br>Message édité par: Laurent Dardenne, à: 11/05/12 14:19
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Limiter nombre processus powershell.exe