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

PNG - 15.3 ko
jil2gvz simple
aucun paramètre n’est passé.

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

PNG - 17.5 ko
jil2gvz avec paramètres
Dans cet exemple, on ajoute la commande et la machine.

Article

> Ordonnanceurs > Les incontournables > Autosys > Développement

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 : 3226
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 (...)

Autosys

Anciennement Platinum, Autosys est l’ordonnanceur de CA (anciennement Computer Associates).