IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Paralléliser des traitements !


Sujet :

Scripts/Batch

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    6 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 6 172
    Points : 18 485
    Points
    18 485
    Par défaut Paralléliser des traitements !
    Salut à tous.

    Je cherche à paralléliser des traitements en les déclenchant depuis un batch windows.
    Pour ce faire, j'utilise la commande "start /B /REALTIME script.bat".
    J'ai plusieurs batch qui vont s'exécuter en parallèle mais je dois attendre qu'ils soient tous terminés pour en déclencher d'autres.
    En consultant la documentation sur "start", il y a bien "/wait" qui permet d'attendre la fin d'un batch.
    Quand on en a plusieurs comment fait-on ?

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2009
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 3 824
    Points : 9 191
    Points
    9 191
    Par défaut
    Pouvez-vous poster le code en entier ?

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    6 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 6 172
    Points : 18 485
    Points
    18 485
    Par défaut
    Salut hackoofr.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    @echo on
    chcp 1252 > nul
     
    SET PATH=.;%WAMPSERVER%\bin\mysql\%MYSQL%\bin\;%PATH%
    SET PERF=E:\30.MySql\01.ToolKit\Sql_Perf.bat
     
    start "" /B /REALTIME /WAIT %PERF% 10.Debut.sql
     
    start "" /B /REALTIME       %PERF% 11.Base.sql
    start "" /B /REALTIME       %PERF% 13.Base.sql
    start "" /B /REALTIME /WAIT %PERF% 12.Base.sql
     
    start "" /B /REALTIME /WAIT %PERF% 14.Index.sql
    start "" /B /REALTIME /WAIT %PERF% 15.Fin.sql
     
    pause
    exit
    11.Base.sql, 12.Base.sql et 13.Base.sql doivent s'exécuter en parallèle afin de gagner du temps.
    Dans l'exemple, je sais que 12.Base.sql a un temps d'exécution plus long que les deux autres.
    Mais quand on ignore lequel est le plus long, je ne sais pas comment le transcrire dans le batch.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    6 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 6 172
    Points : 18 485
    Points
    18 485
    Par défaut
    J'ai renommé mes scripts pour que cela soit plus parlant.
    J'ai trouvé la solution :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo on
    chcp 1252 > nul
    
    SET PATH=.;%WAMPSERVER%\bin\mysql\%MYSQL%\bin\;%PATH%
    SET PERF=E:\30.MySql\01.ToolKit\Sql_Perf.bat
    
    start "" /B /REALTIME /WAIT %PERF% 10.Base.sql
    
    (
    	start "" /B /REALTIME   %PERF% 11.Medecin.sql
    	start "" /B /REALTIME   %PERF% 12.Patient.sql
    	start "" /B /REALTIME   %PERF% 13.Charniere.sql
    ) | pause
    
    start "" /B /REALTIME /WAIT %PERF% 14.Index.sql
    start "" /B /REALTIME /WAIT %PERF% 15.Fin.sql
    
    exit
    J'ai vérifié les heures de démarrage et d'arrêt de chaque script.
    La création des index se fait bien après la création des trois tables.

    Cette écriture qui consiste à mettre entre parenthèse simule un wait sur le script le plus long à l'exécution.
    Le pipe sur PAUSE ne produit pas une demande de saisie au clavier.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parallélisation de traitements et récupération des logs
    Par Wise_Sherkaan dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 07/01/2011, 15h23
  2. [Conception] Optimisation des traitements de variable
    Par nebil dans le forum PHP & Base de données
    Réponses: 43
    Dernier message: 18/08/2006, 21h22
  3. [C++/VB.Net]Optimiser des traitements lourds
    Par NiamorH dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2006, 10h03
  4. Un Gif animé qui ne se fige pas lors des traitements ?
    Par delphi+ dans le forum Composants VCL
    Réponses: 11
    Dernier message: 18/03/2006, 10h31
  5. Cout des traitement PHP
    Par emathieu13 dans le forum Langage
    Réponses: 10
    Dernier message: 11/03/2006, 23h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo