Open Source Job Scheduler - Solutions Open Source Paris

Transcription

Open Source Job Scheduler - Solutions Open Source Paris
Open Source Job Scheduler
Conception
Pré-requis :
o Vue d’ensemble
o Installation
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
2
Conception
Traitement
Séquence
Cible
Verrou
Planification
Ordre
Planification
Ordre
Séquence
Traitement
Indépendant
Verrou
Traitement
ordonné
Traitement
ordonné
Cible
SOS-Paris
3
JobEditor
o  Editer des fichiers XML
o Configuration (scheduler.xml)
o Documentation
o Evénements
o Eléments de Hot Folder
o  Ouvrir un fichier
o dans un hot folder
o dans une configuration distante
SOS-Paris
4
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
5
Nouveau traitement
o  Démarrer l’éditeur
dans le répertoire bin
o Unix :
jobeditor.sh
o Windows : jobeditor.cmd
o  Editer un nouveau traitement
o New/HotFolder Element/Job
SOS-Paris
6
Création
o  Nom du job/Titre
o  Order :
o  Yes :
o  No :
Démarré si l’ordre est défini
Ne nécessite pas d’ordre
o  Process class : lieu d’exécution
dans le répertoire bin
o  Unix :
jobeditor.sh
o  Windows : jobeditor.cmd
o  Editer un nouveau traitement
o  New/HotFolder Element/Job
SOS-Paris
7
Hello World !
o  Définition
o Nom du job/Titre : Hello
o Order : No
o Script : Shell
o Source code : echo « Hello, World ! »
o  Sauvegarde
Sélectionner Save
Sauver le fichier « Hello » dans live
SOS-Paris
8
Exécution
o Ouvrir l’interface d’exploitation
o http://localhost:4444
o Démarrer la tâche
o Sélectionner le traitement
o Cliquer sur «Menu Tâche»
o Cliquer sur lancer instance immédiatement
o Visualiser le résultat
o Voir le statut
o Afficher le journal
SOS-Paris
9
Assistant
o  9 étapes pour la création d’un traitement
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
Traitement indépendant ou ordonné
Sélection du traitement
Paramètres
Exécution parallèle
Implémentation
Délai d’expiration
Déclenchement (horaire ou fichier)
Reprise sur erreur
Délai de répétition
SOS-Paris
10
Création manuelle
o  Job : Commande à exécuter
o  Options: Suivi automatique
o  Parameter: Arguments
o  Job Settings: Mail & Historique
o  Pre-/Postprocessing: Suivi manuel
o  Run Options: Reprise& Erreur
o  Locks: Verrous
o  Run Time: planification
o  Commands: Branchements
o  Documentation
SOS-Paris
11
Traitement SSH
o  Traitement indépendant de copie SSH
SOS-Paris
12
Sélection
o  JobSchedulerSSHJob
SOS-Paris
13
Paramètres
o  Connexion
o Host
o Port 22
o User/password
o Auth_method: password
o Command: hostname
SOS-Paris
14
Options
o  Etape 5
o 1 tâche
o  Etape 6
o aucune inclusion a ajouter
o pas de limite de temps
o  Etape 7
o Pas de déclenchement
o  Etape 8
o Pas de reprise
SOS-Paris
15
Exécution
o  Lancer le traitement
o  Visualiser le journal
DEBUG SOSSSH2TriLeadImpl - Connected to '192.168.74.148' at Port '22'.
INFO - SOS-SSH-I-040: user osjs logged in
INFO - JSJ_I_0030: null
INFO - 27045 2012-01-28 08:48:24.822 [info] ubuntu
SOS-Paris
16
Options
Option
Description
Java Options
Utilisé pour JAVA (voir cours développement JAVA)
Ignore Signals
Réaction du traitement sur réception d’un kill
Priority
Priorité d’exécution dans une classe de processus
Visible
Si no, cache le traitement.
Min Tasks
Nombre de minimum de tâche
Tasks
Nombre de tâche en parallèle
Timeout
Durée maximum avant arrêt de la tâche
Idle Timeout
Attente maximum du successeur
Warn if longer than
Alerte si la durée du traitement est trop longue
Warn if shorter than
Alerte si la durée du traitement est trop courte
Force Idle Timeout
Force l’arrêt
SOS-Paris
17
Paramètres
o  3 types
o  Arguments
o Utilisable directement par les API ou à travers la
variable d’environnement préfixée par
SCHEDULER_PARAM
o  Variables d’environnement
o Directement utilisable dans l’environnement du script
o  Paramètres inclus
o Les paramètres sont stockés dans un fichier et peuvent
être partagés
SOS-Paris
18
Affichage des variables
o Créer les paramètres suivantes
o Parameter
o  PARAM_TEST=PARAM_TEST
o Environment
o  ENV_TEST=ENV_TEST
o Includes
o  INC_TEST=INC_TEST
o Exécution
o Visualiser le journal
SOS-Paris
19
Job Settings
o  Modifie le paramétrage par défaut
o Mail
o Statut : Error, Warning, Success, Process
o Destinataires
o Niveau de log
o Historique
SOS-Paris
20
Pre/Postprocessing
o  Gestion de la surveillance
o Commande API
o Création d’un événement
o Création d’une surveillance
o  Traité dans la partie Développement
SOS-Paris
21
Run Options
o  Déclenchement sur arrivée de fichier
o  Temps de retardement
o  Temps de reprise
SOS-Paris
22
Locks
o  Verrous
o Permet de gérer les non-simultanéité
o  Utilisation exclusive
o Le traitement consomme toutes les
ressources
SOS-Paris
23
Planification
o  Plage de soumission
o  Planification
o Voir Planification
o  Fonction personnalisée
o Traité dans Développement
SOS-Paris
24
Run Time
o  Everyday
o New Period
o Single Start
o When Holiday ; suppress execution
o  Sauvegarde
o L’heure de démarrage s’affiche
automatiquement
o Le traitement apparait dans la liste des
prochains démarrage
SOS-Paris
25
Week-end et jours fériés
o  Holidays
o Weekdays
Ajout du samedi et du dimanche.
o  Sauvegarde
o Le traitement n’est plus planifié le week-end
SOS-Paris
26
Commands
o  Branchement en fonction de l’exit code
o Succes : exit code = 0
o Errror : exit code > 0
o Exit code
o Signal (UNIX)
o  Exécution
o Ajout d’un job
o Ajout d’un ordre
SOS-Paris
27
Documentation
o  Commente le traitement
o  Relie le traitement à une documentation
générique
SOS-Paris
28
Création de la documentation
o  Job Description
o Créer un nouveau fichier
o Editer les informations
SOS-Paris
29
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
30
Séquences
o  Déclenche des successeurs
o Pas de notion de contrainte
o Création de chemins dégradés
o Enchainement de sous-chaines
o Pas de mélange Traitement/Sous-chaine
o Boucles
SOS-Paris
31
Nouvel enchaînement
o  New Chaine Node
o State: Premier
o Job: order_job1
o Next State : Second
o Error State: Erreur
o Apply Chain Node
o  On complète les éléments surlignés
SOS-Paris
32
Job de fin
o  Afficher le job chain
o  Ajouter les traitement de fin
o Bonne pratique : Toujours un début et une fin
SOS-Paris
33
Enchaînements « libres »
o  Enchainement par commandes
o Définit des successeurs en fonction du statut
ou de l’exit code
o  Enchainement par évènements
o Traité dans le chapitre Développement
o  Ces enchainements ne sont pas visibles
dans les schémas de dépendances
SOS-Paris
34
Contraintes
o  Un traitement dépend de n prédécesseurs
Job1
Job2
Job3
Job4
SOS-Paris
35
Assistant
o  Assistant
o Traitement ordonné
SOS-Paris
36
Assistant
o  Traitement standard « SynchroTest »
SOS-Paris
37
Assistant
o  Paramètres
SOS-Paris
38
Assistant
o  3 tâches en parallèle
o Améliore la lisibilité
o Finish !
SOS-Paris
39
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
40
« Cible »
o  Lieu d’exécution de la tâche
o Comme tout objet
o Scheduler.xml ou Hot Folder
o Peut définir une machine locale ou distante
o  File d’attente
o Limiter les traitements
o  Filtre
o Regrouper des traitements
SOS-Paris
41
Nouvelle machine
o  Créer une nouvelle machine limitée à 3
processus
o Créer 4 jobs exécutés sur la machine
o  Sur l’interface
o Filtrer par Machines
o Exécuter les 4 traitements
SOS-Paris
42
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
43
Verrou
o  Utilisation
o Permet de définir les ressources
o Limite le nombre de traitements exécutés par
ressources
o  Définition
o Indiquer le nombre de « jetons »
SOS-Paris
44
Nouveau verrou
o  Créer un nouveau verrou avec 2 jetons
o Utiliser un jeton par traitement
o Mettre un traitement en exclusif
o  Lancer les traitements
SOS-Paris
45
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
46
Ordres
o  Exécute des chaines
o Peut exécuter des portions de chaines
o Gère la priorité
o Peut passer des paramètres
o Peut utiliser une planification
SOS-Paris
47
Paramètres
o  Stockés dans un fichier configuration
o Job_chain/Id
SOS-Paris
48
Conception
Traitement
Séquence
Cible
Verrou
SOS-Paris
Ordre
Planification
49
Planification
o  Déclenche un traitement en fonction de
critères temporels
o Lancements ou cycles
o Permet la prise en compte des jours fériés
o Planifications globales et héritages
o Imbrications de périodes
o Gère les planifications complexes
o Peut se substituer à une autre planification
pendant une période de temps
SOS-Paris
50
Types de dates
o  Tous les jours
o  Jours de la semaine
o  Jour du mois/Fins de mois
o  Mois de l’année
o  Jours fixes
SOS-Paris
51
Imbrications
o  Planification globale
o Jours de la semaine
o Jours du mois
o Mois de l’année
o Planification spécifique
o  Jours de la semaine
o  Jours du mois
o Dates spécifiques
o  Heures pour chaque période
SOS-Paris
52
Jours fériés
o  Jours fériés
o Jour ouvré précédent
o Jour ouvré suivant
o Supprimer la planification
o Ignorer le calendrier
SOS-Paris
53
Calendriers
o  Jours d’exclusion
o  Stockage
o Configuration
o Traitement
o Hot Folder
<holidays>
<holiday date="2012-03-21"/>
<holiday date="2012-11-05"/>
</holidays>
SOS-Paris
54
Heures
o  Heure de départ
o  Cycle
o  Bornes strictes
o  Heure de départ & Heure de fin
o  Intervalle start/start ou start/end
SOS-Paris
55
Start/Start et End/Start
o  Start/Start: Calcul sur l’heure de départ
o  Toutes les 5 minutes à partir de 14:00
14:00
14:05
14:10
Durée : 6 min
o  End/Start: Calcul sur l’heure de Fin
o  5 minutes
entre chacune
traitement
14:05
14:00
14:10
o  Le traitement suivant part à 14:11
SOS-Paris
56
Substitution
o  Permet de remplacer une planification par
une autre pendant une période définie.
o Traité dans Exploitation
SOS-Paris
57