Open Source Job Scheduler Conception Pré-requis : o Vue d ensemble o Installation
Conception Traitement Séquence Cible Verrou Ordre Planification SOS-Paris 2
Conception Traitement Séquence Cible Verrou Ordre Planification Planification Ordre Séquence Traitement Indépendant Verrou Traitement ordonné Cible Traitement ordonné 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 Ordre Planification SOS-Paris 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 : Démarré si l ordre est défini o No : 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. Traitement indépendant ou ordonné 2. Sélection du traitement 3. Paramètres 4. Exécution parallèle 5. Implémentation 6. Délai d expiration 7. Déclenchement (horaire ou fichier) 8. Reprise sur erreur 9. 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 Java Options Ignore Signals Priority Visible Min Tasks Tasks Timeout Idle Timeout Warn if longer than Warn if shorter than Force Idle Timeout Description Utilisé pour JAVA (voir cours développement JAVA) Réaction du traitement sur réception d un kill Priorité d exécution dans une classe de processus Si no, cache le traitement. Nombre de minimum de tâche Nombre de tâche en parallèle Durée maximum avant arrêt de la tâche Attente maximum du successeur Alerte si la durée du traitement est trop longue Alerte si la durée du traitement est trop courte 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 Ordre Planification SOS-Paris 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 Ordre Planification SOS-Paris 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 Ordre Planification SOS-Paris 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 Ordre Planification SOS-Paris 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 Ordre Planification SOS-Paris 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:00 14:05 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