Personnalisation d'une tâche FlowForce Server
Dans notre article précédent, intitulé : Automatisez la cartographie et la transformation des données grâce au serveur FlowForce, nous avons créé une fonction appelée SimpleMapAndTransform pour automatiser la correspondance des données avec MapForce Server et.. création de rapports en HTML par StyleVision Server. Après cela, FlowForce Server L'exécution répétée de la tâche a généré de nombreux fichiers de sortie dans le même dossier que celui utilisé pour traiter les fichiers d'entrée, ainsi que des fichiers temporaires intermédiaires dans le dossier "workFiles", comme on peut le voir sur l'image ci-dessous.

Dans cet article, nous allons améliorer le processus pour obtenir des résultats plus structurés et supprimer les fichiers temporaires inutiles.
Réorganisation de la production
Tout d'abord, nous pouvons ajouter davantage d'étapes au sein de la boucle "pour chaque" qui traite les fichiers d'entrée, afin de déplacer les nouveaux fichiers .gpx et .html créés par la conversion et la transformation des données vers le dossier "completedInput". Ce sont les étapes 3 et 4 de la série ci-dessous.
L'option "répertoire de travail" à chaque étape peut également rediriger la sortie. Cependant, la variable que nous avons utilisée pour sélectionner chaque fichier d'entrée à traiter contient le chemin complet et le nom du fichier, il est donc plus simple de continuer à utiliser cette chaîne de caractères et de déplacer tous les fichiers de sortie une fois le traitement terminé.

Notre modèle de conception StyleVision pour le rapport comprend un graphique qui est enregistré en tant que fichier .png, séparément du document .html principal. La dernière étape du processus utilise une fonction de ligne de commande pour déplacer tous les fichiers .png du dossier d'entrée vers le dossier de travail finalisé.
La fonction en ligne de commande vous permet de définir n'importe quelle commande du système d'exploitation valide comme étape d'un processus FlowForce Server. Dans ce processus, nous sommes toujours à l'intérieur de la boucle "pour chaque", de sorte que les fichiers .png seront déplacés avec le document .html associé. Nous avons utilisé un caractère générique pour le nom de fichier .png car les fichiers .png ne suivent pas exactement le schéma de nommage des documents d'entrée. Ce modèle de caractère générique fonctionne également pour les modèles StyleVision qui créent plusieurs graphiques pour chaque rapport.
Étapes pour effectuer des tâches ménagères
Il est recommandé de vider régulièrement le contenu des répertoires de travail. Notre application utilise le dossier "workFiles" pour développer le contenu du fichier .pxf, ce qui est nécessaire pour la génération des rapports. La capture d'écran de ce répertoire, visible en haut de cet article, montre le schéma XML, les fichiers de travail utilisés pour la conception, les fichiers .XSLT utilisés pour générer différents formats de rapports, ainsi que des fichiers de travail temporaires.
Nous pourrions ajouter une étape de nettoyage après la boucle "pour chaque" dans notre tâche, afin de supprimer les fichiers immédiatement après le traitement. Cependant, le serveur FlowForce vous permet d'exécuter plusieurs instances simultanées de la même tâche. Il serait dommage qu'une instance supprime le dossier "workFiles" alors qu'une autre instance l'utilise encore !
Une meilleure solution consiste à définir une tâche de nettoyage distincte et à la programmer pour qu'elle s'exécute à un moment où la tâche principale est inactive. Voici un exemple d'une tâche de nettoyage très simple pour le dossier "workingFiles", en utilisant à nouveau la fonction en ligne de commande :

Nous avons utilisé un caractère générique pour supprimer tout le contenu du répertoire "workFiles", mais cette option peut ne pas être appropriée dans tous les cas. Si le fichier .pxf contient des feuilles de style .css ou des fichiers image nécessaires au document .html, des étapes de nettoyage plus personnalisées seront nécessaires.
Déclencheurs professionnels
La tâche SimpleMapAndTransform, telle qu'elle était initialement configurée, est programmée pour s'exécuter toutes les 15 minutes, de 8h30 à 17h00, du lundi au vendredi. Comme indiqué ci-dessus, la tâche de nettoyage est programmée pour s'exécuter une fois par jour à 19h00, soit 19 heures. La page d'accueil de l'interface web du serveur FlowForce affiche le planning des tâches :

Voici une astuce simple que vous pouvez utiliser pour tester une tâche FlowForce Server pendant sa configuration. Chaque tâche peut avoir plusieurs déclencheurs de calendrier. Nous pouvons définir un déclencheur unique pour tester immédiatement une nouvelle tâche et la programmer pour qu'elle s'exécute dans quelques secondes :

Nous pouvons obtenir des informations immédiates en consultant le journal du serveur FlowForce, qui contient les détails de chaque étape du processus.
Le serveur FlowForce est disponible pour les plateformes Windows, Linux, et bientôt pour Mac OS Cliquez ici pour télécharger une version d'essai gratuite** !**