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

Linux Discussion :

[KSH] Automatisation (ordonnanceur) Problème mis en place algo


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut [KSH] Automatisation (ordonnanceur) Problème mis en place algo
    Hello,

    Il m'a été demandé d'automatiser les traitements sur un environnement de test.
    Faire le même job que VTOM ou $U avec du ksh.
    L'algorithmie et la technique n'étant pas trop mon fort, je bloque encore sur la démarche à suivre.

    Il y a deux types de job à lancer :
    - Ceux qui n'ont aucune dépendance
    - Les autres

    Pour ceux qui n'ont aucune dépendance. Pas de problème, je mets le tout dans une crontab.
    Mais pour les autres.

    Prenons un exemple:
    L'execution de JOB2 dépend ce celle de JOB1.
    Les plages d'execution sont les mêmes 23h00-8h00 et 23h00-8h00.

    Deux solutions :
    1) A encapsuler l'appel aux deux scripts dans un ksh, en conditionnant le lancement de JOB2 en fonction du succès du premier. Problème, si le JOB1 prend plus de temps que prévu et que finalement, il se termine bien mais à 8h10 et qu'il lance le JOB2 en dehors de sa plage d'exec.

    2) Créer un fichier qui contiendrait la liste des JOB et leur état (running, completed, aborted), et chaque script vient voir dans ce fichier, si ces conditions d'execution sont réunis. Problème, je serais obligé de schedulé le job deux pour qu'il viennent vérifier à plusieurs heures différentes dans sa plage pour voir si job 1 se termine ou non.

    Voilà, où j'en suis.
    Si vous voyez une incohérence/manque d'info dans ce que j'expose. N'hésitez pas. Ou problème de place dans le forum.
    Si vous avez une meilleur idée (j'en doute pas). De même !

    Cdt,
    Rithy666.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Rithy666 Voir le message
    Hello,

    Il m'a été demandé d'automatiser les traitements sur un environnement de test.
    Faire le même job que VTOM ou $U avec du ksh.
    L'algorithmie et la technique n'étant pas trop mon fort, je bloque encore sur la démarche à suivre.

    Il y a deux types de job à lancer :
    - Ceux qui n'ont aucune dépendance
    - Les autres

    Pour ceux qui n'ont aucune dépendance. Pas de problème, je mets le tout dans une crontab.
    Mais pour les autres.

    Prenons un exemple:
    L'execution de JOB2 dépend ce celle de JOB1.
    Les plages d'execution sont les mêmes 23h00-8h00 et 23h00-8h00.

    Deux solutions :
    1) A encapsuler l'appel aux deux scripts dans un ksh, en conditionnant le lancement de JOB2 en fonction du succès du premier. Problème, si le JOB1 prend plus de temps que prévu et que finalement, il se termine bien mais à 8h10 et qu'il lance le JOB2 en dehors de sa plage d'exec.

    2) Créer un fichier qui contiendrait la liste des JOB et leur état (running, completed, aborted), et chaque script vient voir dans ce fichier, si ces conditions d'execution sont réunis. Problème, je serais obligé de schedulé le job deux pour qu'il viennent vérifier à plusieurs heures différentes dans sa plage pour voir si job 1 se termine ou non.

    Voilà, où j'en suis.
    Si vous voyez une incohérence/manque d'info dans ce que j'expose. N'hésitez pas. Ou problème de place dans le forum.
    Si vous avez une meilleur idée (j'en doute pas). De même !

    Cdt,
    Rithy666.
    Salut
    Pourquoi ne pas prendre ta solution 1 (les deux jobs encapsulés dans le même script) mais rajouter un check de l'heure courante au moment du lancement du job 2 ???
    Toutefois je suis un peu dubitatif. Si le job2 dépend du job1 alors l'ensemble job1+job2 forme un tout cohérent. Donc si ce tout devient un seul et unique job0 et que ce job0 est lancé par le cron à 23h, qu'importe si la totalité du job se termine après 8h ??? Ou qu'importe si la partie "job1" se termine après 8h ce qui fait que la partie "job2" se passe après la plage horaire demandée ???

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Salut
    Pourquoi ne pas prendre ta solution 1 (les deux jobs encapsulés dans le même script) mais rajouter un check de l'heure courante au moment du lancement du job 2 ???
    Toutefois je suis un peu dubitatif. Si le job2 dépend du job1 alors l'ensemble job1+job2 forme un tout cohérent. Donc si ce tout devient un seul et unique job0 et que ce job0 est lancé par le cron à 23h, qu'importe si la totalité du job se termine après 8h ??? Ou qu'importe si la partie "job1" se termine après 8h ce qui fait que la partie "job2" se passe après la plage horaire demandée ???
    Pour l'heure ok. C'est faisable. C'est juste que je suis une brele dans la gestion de heures.

    Pour le principe du JOB 0, je suis pas trop d'accord. Faut quand même vérifier que JOB 2 se lance pas après plage d'exec. Non ?

    Sinon, pas de meilleur idée ?

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Rithy666 Voir le message
    Pour l'heure ok. C'est faisable. C'est juste que je suis une brele dans la gestion de heures.
    date '+%H' te donnera l'heure courante
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if test `date '+%H'` -ge 8
    then
         echo "on est après 8h
    else
         echo "on est avant 8h
    fi

    Citation Envoyé par Rithy666 Voir le message
    Pour le principe du JOB 0, je suis pas trop d'accord. Faut quand même vérifier que JOB 2 se lance pas après plage d'exec. Non ?
    Tout dépend de ta façon de considérer l'ensemble. Si job2 est lié à job1 comme deux phalanges d'un même doigt alors il n'y a aucune raison de dissocier les deux.
    Exemple: si je dois construire une baraque, je vais
    - monter les murs
    - monter le toit
    - peindre le tout
    Une fois toutes ces opérations faites, je considèrerai que ma baraque est finie. Je vais pas me dire "ah zut, j'ai fini de monter le mur mais comme il est plus de 8h, je peux plus commencer à monter le toit"...

    Perso je ne conçois pas la raison pour qu'un script contenant plusieurs opérations s'arrête entre les deux parce que l'heure est passée. Mais bien entendu je ne connais pas tous tes impératifs...

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

Discussions similaires

  1. commnet veriffier que le cache est bien mis en place
    Par iftolotfi dans le forum Hibernate
    Réponses: 6
    Dernier message: 01/06/2007, 15h51
  2. [JavaMail] Mis en place d'un mail en HTML
    Par khokho dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 02/04/2007, 12h10
  3. Problème caractère "?" à la place des "é"
    Par breton75 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/02/2007, 17h43
  4. Problème mise en place Apache avec mod_ssl
    Par Le fut dans le forum Apache
    Réponses: 3
    Dernier message: 19/12/2006, 15h04

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