
Générer un script Graphviz à partir d’un JIL

Principe
Le JIL est convertit au format Graphviz, il peut ensuite être traité par l’exécutable de votre choix (dot, neato, twopi...) en fonction des besoins.
Pour utiliser ce script, il est nécessaire de disposer de perl (seulement l’interpréteur, les bibliothèques ne sont pas utiles) et graphviz que vous pourrez télécharger à l’adresse suivante : http://graphviz.org
Exemple
On prend comme exemple le JIL suivant qui représente une boite avec un job principal qui en cas de statut OK déclenche un JOB2 ou, en cas de problème (après 3 essais), déclenche le JOB3. Pour que la boite récupère son statut il est nécessaire de lui indiquer les condition de succès (box_success) et de failure (box_failure).
/* ----------------- ATSR-_ERIC_-B-BOX_FAILURE ----------------- */
insert_job: ATSR-_TEST_-B-BOX_FAILURE job_type: b
owner: autosys
permission: gx,wx,mx,ge,we,me
box_failure: d(ATSR-_TEST_-CUX-JOB3)
box_success: s(ATSR-_TEST_-CUX-JOB2)
description: "Boite de test"
alarm_if_fail: 0
/* ----------------- ATSR-_ERIC_-CUX-JOB1 ----------------- */
insert_job: ATSR-_TEST_-CUX-JOB1 job_type: c
box_name: ATSR-_TEST_-B-BOX_FAILURE
command: exit 1
machine: localhost
owner: eric
permission: gx,wx
description: "Commande a executer"
n_retrys: 3
alarm_if_fail: 1
/* ----------------- ATSR-_ERIC_-CUX-JOB2 ----------------- */
insert_job: ATSR-_TEST_-CUX-JOB2 job_type: c
box_name: ATSR-_TEST_-B-BOX_FAILURE
command: echo test
machine: localhost
owner: eric
permission: gx,wx
description: "Si tout va bien"
condition: s(ATSR-_TEST_-CUX-JOB1)
alarm_if_fail: 1
/* ----------------- ATSR-_ERIC_-CUX-JOB3 ----------------- */
insert_job: ATSR-_TEST_-CUX-JOB3 job_type: c
box_name: ATSR-_TEST_-B-BOX_FAILURE
command: echo degrade
description: "En cas de probleme"
machine: localhost
owner: eric
permission: gx,wx
condition: f(ATSR-_TEST_-CUX-JOB1)
alarm_if_fail: 1
Appel
Le script utilise le JIL passé par l’entrée standard et génère le script qui peut être passé directement ) l’exécutable graphviz. Dans notre exemple, le JIL est dans le fichier test.jil et l’exécutable est dot, on génère des images de type PNG.
L’appel sans paramètre génère les noeuds et les liens entre ces noeuds avec l’affichage de la description :
perl jil2gvz.pl < test.jil | dot -Tpng > test1.png
Pour disposer de plus d’informations, on peut ajouter des champs sur la boite, le job ou le filewatcher. Dans cet exemple, on ajoute la commande passée et la machine utilisée pour les jobs :
perl jil2gvz.pl job=description,command,machine < test.jil | dot -Tpng > test1.png
Article
Graphviz propose un langage simple pour générer des graphs orientés, le principe du script est de convertir les éléments du JIL (Job Interface Language) d’Autosys en script graphviz pour obtenir une image (gif, png, jpeg...) ou un dessin vectoriel (SVG) que l’on pourra éditer ensuite avec Inkscape ou Visio pour les plus riches.
Mise à jour : | 16 novembre 2008 |
Visites : | 3165 |
Auteur : | E. Angenault |
Site : | Angenault.net |
Liens commerciaux
Accès rapide
Ces scripts sont destinés aux utilisateurs d’ordonnanceurs, qu’ils soient simple utilisateurs ou administrateurs.
- Archiver les données
Le DBMaint fourni par CA fournit le minimum pour la maintenance, il peut être nécessaire d’ajouter des options telles que l’archive.
- Créer un calendrier Autosys a partir d’un calendrier $U
Le script présenté est le plus simple que l’on puisse faire car il s’appuie sur un uxshw et génère une liste de dates que l’on peut intégrer directement.
- Créer un objet à partir de sa définition
Ce script va permettre de créer un objet par un uxadd en utilisant une définition affichée par uxshw. L’intérêt est de pouvoir transférer des objets qui ne peuvent pas l’être par un uxext et un uxins (règles, ou transfert vers un espace (...)
- Evaluer une migration
Dollar Universe est un ordonnanceur que l’on peut qualifier "d’orienté objet" dans la mesure où chaque définition peut être réutilisée, ainsi la définition d’un traitement peut être incluse dans plusieurs groupes pouvant eux mêmes (...)
- Script d’attente de fichier
Ce script permet de mettre en place une attente de fichier. Il est particulièrement utile pour Autosys car il remplace le type de job ’f’ d’Autosys qui ne permettait pas de traiter les fichiers de plus de 64 caractères, ni de (...)
- Script de purge respectant la fréquence de soumission
Ce script Perl s’appuie sur la norme de nommage pour supprimer les fichiers en fonction de leur fréquence de soumission (quotidienne, hebdomadaire, mensuelle, annuelle...).
- strcount.pl
Comment compter le nombre de ligne correspondant à une chaine de caracteres particulières.
- Traitement automatique du chase
Le chase est un exécutable Autosys qui vérifie que les jobs en statut Running dans la base de donnée sont effectivement en cours d’exécution sur la base de données. Ce script propose un moyen de traiter automatiquement la sortie pour changer le (...)
- Uproc type sur système NT
Les variables d’environnement des applications ne sont pas définies dans l’uproc. Elles doivent être regroupées dans un fichier applicatif qui sera exécuté par $U avant chaque début (...)
- Uproc type sur système Unix
Les variables d’environnement des applications ne sont pas définies dans l’uproc. Elles doivent être regroupées dans un fichier qui sera exécuté dans le .profile du compte de soumission de (...)
- Uproc type sur système VMS
Les variables d’environnement des applications ne sont pas définies dans l’uproc. Elles doivent être regroupées dans un fichier applicatif qui sera exécuté dans le LOGIN.COM du compte de (...)
Dossier
Autosys
Anciennement Platinum, Autosys est l’ordonnanceur de CA (anciennement Computer Associates).