2013 – 2014 · Saint-Étienne, France · Sur site
Ingénieur de production (lanceur batch générique)
Eovi-mcd — Acteur majeur de la mutualité en France
Une soixantaine de traitements batch, chacun déclenché sur cinq ou six périmètres fonctionnels distincts — les événements déclencheurs, configurés par les études dans le progiciel et passés en paramètre. Un lanceur par traitement et par événement déclencheur, créé par copie du précédent et modification du paramètre. Les commandes de journalisation, les transferts de flux, les copies entre serveurs et les scripts SQL y sont écrits en dur.
Aucune gestion de configuration : les lanceurs sont dupliqués entre la production et les environnements de préproduction, et leur transit par des postes Windows introduit des altérations de caractères qui ne se révèlent qu'en production. L'arrivée d'une option de parallélisation côté éditeur, pilotée par un paramètre supplémentaire, multiplie encore le nombre de lanceurs à maintenir.
Chantier de plusieurs mois : factoriser l'ensemble en un lanceur unique, paramétré par le nom du traitement, l'événement déclencheur et le degré de parallélisme, le traitement allant chercher lui-même ses prétraitements et post-traitements dans le répertoire correspondant. Développement, recette hors production, puis mise en production ; l'ordonnancement entier est repris pour appeler le lanceur paramétré.
Réalisations
- 300 scripts de lancement factorisés en un seul
Lanceur de batch générique paramétrable
Nom du traitement, événement déclencheur et degré de parallélisme passés en paramètre ; prétraitements et post-traitements résolus par convention plutôt qu'écrits en dur.
- 60 traitements couverts, sur cinq à six périmètres chacun
Couverture de l'ensemble du plan batch
Chaque traitement était jusque-là décliné en autant de lanceurs qu'il avait de périmètres fonctionnels, créés par copie et modification d'un paramètre.
Fiabilisation des exécutions
Les prétraitements et post-traitements d'un traitement donné sont désormais appelés systématiquement, quel que soit l'événement déclencheur. La mesure des durées se fait séparément pour le prétraitement, le traitement et le post-traitement.
Reprise de l'ordonnancement pour le lanceur paramétré
Le script qui créait les tâches et leurs liens dans l'ordonnanceur, écrit sur les commandes natives en mode ligne de commande, a dû être modifié pour pointer vers le lanceur générique.