Démarrer un processus sur une arrivée de fichier

De SOS Paris
Aller à : navigation, rechercher

Un processus, ou job chain, est généralement déclenché par un ordre. L'option file order source du job chain permet de transformer une arrivée de fichier en ordre, l'identifiant de l'ordre étant le nom complet du fichier.

Le fichier est un "fichier flag", il ne sert qu'au déclenchement et démarre donc le processus dés l'écriture du premier octet. Si ce fichier doit être utilisé par la suite dans le processus, il est nécessaire de vérifier son intégrité. Pour effectuer cette vérification, il existe différent moyens:

  • faire une simple pause avant le départ du step qui traite le fichier
  • transférer le fichier flag après le transfert du fichier à traiter
  • vérifier l'intégrité du fichier en vérifiant sa taille
  • vérifier que le fichier ne grossit plus pendant un laps de temps défini

L'exemple de chaine utilise le script Java JobSchedulerExistsFile dont les paramètres offrent divers systèmes de vérification. Ce script nécessite le paramètre file, on va le remplir automatiquement en utilisant une fonction de pré-processing qui utilisera l'id de l'order comme nom de fichier:

function spooler_task_before() {
     spooler_log.info("===============================");
     spooler_task.params.set_var("file",spooler_task.order.id);
     return true;
}

Fichier:Ressource fichier.zip

Ressource fichier.png

Pour aller plus loin :

Démarrer un processus sur une arrivée de fichier distant