Question Limiter nombre processus powershell.exe

Plus d'informations
il y a 13 ans 10 mois #11753 par remg
Bonjour,

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.

Plus d'informations
il y a 13 ans 10 mois #11757 par Laurent Dardenne
Salut,
remg écrit:

Ma question: Est-ce possible de \"limiter\" le nombre d'instance du processus powershell.exe

Sans connaitre l'architecture utilisée difficile de répondre.
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 :)<br><br>Message édité par: Laurent Dardenne, à: 10/05/12 22:16

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 10 mois #11758 par remg
L'architecture de notre système comporte plusieurs serveurs, un situé dans une zone DMZ (ou les clients dépose les fichiers) une zone APPS (ou les fichiers sont traités) une zone de stoquage.

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.

Plus d'informations
il y a 13 ans 10 mois #11760 par Laurent Dardenne
remg écrit:

L'architecture de notre système comporte plusieurs serveurs,

Je parlais d'archi co^té logiciel, désolé.
remg écrit:

Présentement nous utilisons des scripts batch et des scripts Powershell car c'est les 2 type de langage que nous sommes familier avec.

C'est bien ce que je supposais.
remg écrit:

Il aurait possibilité de faire rouler le script comme un service?

Non, enfin je ne pensais pas à ça
remg écrit:

Est-ce quelque chose de difficile à implanté?

En PS,oui ou plutot il n'est pas adapté.
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.

Plus d'informations
il y a 13 ans 10 mois #11762 par remg
Le logiciel est Managed File Transfer par la compagnie Tibco :

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 \&quot;built-in\&quot; 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.

Plus d'informations
il y a 13 ans 10 mois #11766 par Laurent Dardenne
remg écrit:

Le folder watch se fait \&quot;built-in\&quot; 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...)

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.
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 :whistle:
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.

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