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