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

Algorithmes et structures de données Discussion :

Appeler un script en direct et par lot


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 302
    Points : 316
    Points
    316
    Par défaut Appeler un script en direct et par lot
    Bonjour.

    J'ai un premier script que j'appelerai "single" qui effectue une tâche pour un seul objet. Ce script écrit log dans un fichier "out" comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (single)
    traitement de Objet
    J'ai un deuxième script que j'appelerai "batch" qui fait simplement une boucle sur plusieurs objets à traiter et appelle le premier script "single" sur chacun d'eux. Dans le même fichier "out", il va insérer un horodatage au début et une ligne de marqueur à la fin, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    (batch)
    DATE
    (single)
    traitement objet 1
    traitement objet 2
    traitement objet 3
    (batch)
    =======MARQUEUR=====

    J'appelle parfois le script "batch" quand j'ai plusieurs objets à traiter, mais parfois je n'ai qu'un seul objet à traiter et j'appelle donc "single" à la place. Mais voilà, dans le fichier de sortie, je n'ai ni la date ni un marqueur de fin quand je fais appel à single, donc je me retrouve avec un fichier où parfois j'ai les marqueurs et parfois pas :

    Code : 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
    19
    20
    21
    22
    (batch)
    DATE
    (single)
    traitement objet 1
    traitement objet 2
    traitement objet 3
    (batch)
    =======MARQUEUR=====
    (single)
    traitement objet 
    (single)
    traitement objet 
    (single)
    traitement objet 
    (batch)
    DATE
    (single)
    traitement objet 1
    traitement objet 2
    traitement objet 3
    (batch)
    =======MARQUEUR=====

    Comment faire pour que single insère lui aussi un marqueur et une date quand il est appelé directement MAIS PAS quand il est appelé depuis batch ? est-ce que single devrait vérifier une variable avant d'afficher le marqueur de début et de fin ? ou y a-t-il mieux comme soluce ?

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour :-)

    Euh pardon, mais, est-ce que tu n'es pas en train de te noyer dans un verre d'eau ?

    Pourquoi n'encapsules-tu pas ton script single dans script super_single qui fait la chose suivante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    afficher date
    executer single
    afficher marqueur de fin
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 302
    Points : 316
    Points
    316
    Par défaut
    Bonjour Flodelarab

    Le code que tu viens de donner est celui de batch ! il fait office de super_single. Celui-ci marche bien comme je veux, c'est single qui ne marche pas comme je veux (pas d'hordatage ni de marqueur dans single).

    A moins... A moins que j'appelle batch même pour un seul objet ?

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Le code que tu viens de donner est celui de batch !
    Non car le marqueur n'est pas le même quand tu fais un traitement par lot, que quand tu fais un traitement unitaire.

    A moins que j'appelle batch même pour un seul objet ?
    Non, pas batch (traitement par lot). Mais un script qui encapsule un traitement unitaire.

    Comment faire pour que single insère lui aussi un marqueur et une date quand il est appelé directement MAIS PAS quand il est appelé depuis batch ?
    C'est là qu'est la faute de raisonnement.
    Tu vas trop loin et tu viens demander une méthode pour revenir en arrière.
    Affiche correctement dès le début. Et plus de soucis.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 17/02/2018, 17h47
  2. photoshop conversion par lot (script) en jpg
    Par mic84 dans le forum Imagerie
    Réponses: 1
    Dernier message: 27/11/2011, 12h46
  3. [MiRc] Script de transfert par lots
    Par tiger33 dans le forum IRC / mIRC
    Réponses: 12
    Dernier message: 16/01/2008, 11h52
  4. [sybase] Suppression de tables par lot
    Par Higgins dans le forum Sybase
    Réponses: 2
    Dernier message: 30/09/2004, 16h42
  5. Réponses: 1
    Dernier message: 04/06/2003, 11h48

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