Fonctionnement du service Watched Folder

Le module Watched Folder contient les services suivants :

  • service Watched Folder ;

  • provider.file_scan_service ;

  • provider.file_write_results_service.

Outre les services répertoriés ci-dessus, le service Watched Folder dépend également d’autres services, notamment le service Scheduler pour la programmation des travaux et le service Job Manager pour la prise en charge de l’appel asynchrone des services cibles.

Traitement d’une demande d’appel par le service Watched Folder

Le service de dossier de contrôle Watched Folder traite la création, la mise à jour et la suppression des points de fin. Une fois que l’administrateur crée les points de fin, ils doivent être déclenchés par le service de programmation en fonction de l’intervalle de répétition spécifié ou de l’expression cron.

Ce schéma illustre la façon dont Watched Folder traite une demande d’appel.

Le processus d’appel d’un service à l’aide des dossiers de contrôle fonctionne comme suit :

  1. Une application cliente place les fichiers ou les dossiers dans le dossier d’entrée du dossier de contrôle.

  2. Lorsque l’analyse de la tâche intervient, le service de programmation appelle provider.file_scan_service afin de traiter les fichiers ou les dossiers dans le dossier d’entrée.

  3. provider.file_scan_service exécute les tâches suivantes :

    • Il analyse le dossier d’entrée à la recherche des fichiers ou des dossiers correspondant au modèle de fichiers inclus et exclut les fichiers ou les dossiers en fonction du modèle de fichiers exclus spécifié. Les fichiers ou les dossiers les plus anciens sont sélectionnés en premier. Les fichiers ou les dossiers antérieurs à la durée d’attente sont également sélectionnés. Le nombre de fichiers ou de dossiers traités au cours d’une analyse dépend de la taille du lot. Pour plus d’informations sur les modèles de fichiers, voir A propos des modèles de fichier . Pour plus d’informations sur la définition de la taille des lots, voir Paramètres du service Watched Folder .

    • Il sélectionne les fichiers ou les dossiers à traiter. Les fichiers ou les dossiers non entièrement téléchargés feront partie de l’analyse suivante. Pour s’assurer que les dossiers sont entièrement téléchargés, les administrateurs doivent créer un dossier et le nommer en utilisant pour cela le modèle de fichiers exclus. Une fois tous les fichiers intégrés au dossier, celui-ci doit être renommé selon le modèle indiqué dans le modèle de fichiers inclus. Cette étape permet de s’assurer que le dossier contient tous les fichiers nécessaires à l’appel du service. Pour plus d’informations sur la manière de s’assurer que les dossiers sont bien téléchargés, voir Conseils et astuces concernant les dossiers de contrôle .

    • Il déplace les fichiers ou les dossiers dans le dossier des fichiers traités après les avoir sélectionnés pour traitement.

    • Il convertit les fichiers ou les dossiers dans le dossier des fichiers traités et les envoie vers l’entrée appropriée, en fonction des mappages des paramètres d’entrée du point de fin. Pour plus d’informations sur le mappage des paramètres d’entrée, voir Conseils et astuces concernant les dossiers de contrôle .

  4. Le service cible configuré pour le point de fin est appelé de manière synchrone ou asynchrone. Le service cible est appelé à l’aide du nom d’utilisateur et du mot de passe configurés pour le point de fin.

    • Un appel synchrone appelle le service cible directement et traite immédiatement la réponse.

    • Pour les appels asynchrones, le service cible est appelé par le biais du service Job Manager qui place la demande dans une file d’attente. A son tour, le service Job Manager appelle provider.file_write_results_service pour gérer les résultats.

  5. provider.file_write_results_service gère la réponse ou l’échec de l’appel du service cible. Si l’appel est réussi, la sortie est enregistrée dans le dossier de résultat, en fonction de la configuration du point de fin. provider.file_write_results_service conserve également la source si le point de fin est configuré pour conserver les résultats après la réussite de l’appel.

    Lorsque l’appel du service cible est un échec, provider.file_write_results_service enregistre la raison de l’échec dans un fichier failure.log, puis place ce fichier dans le dossier failure. La création du dossier failure dépend des paramètres de configuration spécifiés pour le point de fin. Lorsque l’administrateur active l’option Conserver en cas d’échec pour la configuration du point de fin, provider.file_write_results_service copie également les fichiers source dans le dossier failure. Pour plus d’informations sur la récupération des dossiers depuis le dossier failure, voir Points d’échec et récupération .