Déclenchement d'un flux avec un fichier de contrôle

Un flux peut être exécuté automatiquement lorsqu'un fichier de contrôle est détecté dans un répertoire surveillé. Cette fonctionnalité s'avère utile dans les situations où le flux doit attendre la fin d'un autre processus avant d'être exécuté. Par exemple, vous pouvez disposer d'une flux qui a besoin d'un fichier d'entrée généré par un autre processus d'entreprise. Vous pouvez configurer l'autre processus pour qu'il place un fichier de contrôle dans un dossier, et configurer Spectrum™ Technology Platform pour qu'il exécute un flux lorsque ce fichier de contrôle apparaît.

Remarque : Assurez-vous que le fichier de contrôle est placé dans le dossier surveillé uniquement après que tous les fichiers requis par le flux sont en place et prêts pour le traitement.
  1. Si ce n'est pas déjà fait, exposez le flux.

    Pour exposer un flux, ouvrez-le dans Enterprise Designer et sélectionnez Fichier > Exposer/Ne plus exposer et Enregistrer.

  2. Ouvrez Management Console.
  3. Accédez à Flux > Calendriers.
  4. Cliquez sur le bouton Ajouter .
  5. Dans le champ Nom, saisissez le nom à attribuer à ce calendrier. Il s'agit du nom qui sera affiché dans la liste des calendriers.
  6. Dans le champ Flux, saisissez le job ou le flux de processus que vous souhaitez exécuter. Seuls les jobs et processflow que vous avez enregistrés et exposés sont disponibles ici.
  7. Une fois que vous avez spécifié un flux, des champs supplémentaires apparaissent sous le champ Flux, un champ pour chacun des stages source (tels que Read from File) et collecteurs du flux (tel que Write to File). Ces champs affichent les fichiers qui seront utilisés lors de l'exécution du flux par ce calendrier. Par défaut, le flux utilise les fichiers spécifiés dans ses sources et dans ses récepteurs. Vous pouvez spécifier des fichiers différents à utiliser lorsque ce calendrier s'exécute en remplaçant le chemin d'accès au fichier par le chemin d'accès vers un autre fichier. Par exemple, si votre flux comporte un stage Read from File qui lit les données à partir de C:\FlowInput\Customers.csv mais que vous souhaitez utiliser des données de C:\FlowInput\UpdatedCustomers.csv lorsque ce calendrier s'exécute, vous devez indiquer C:\FlowInput\UpdatedCustomers.csv dans le champ Read from File.
    Remarque : Pour modifier les fichiers utilisés dans les stages source et collecteur, vous devez disposer d'autorisations de lecture pour le type d'entité sécurisée Ressources - Serveurs de fichiers.

    Notez que lorsqu'un flux est déclenché par un calendrier, les fichiers utilisés par un flux doivent se trouver sur le serveur Spectrum™ Technology Platform ou sur un serveur de fichiers défini comme une ressource externe dans Management Console. Ceci s'applique tant aux jobs qu'aux activités de job dans un processflow. Si un stage source ou récepteur fait référence à un fichier sur un ordinateur client uniquement, exécutez l'une des procédures suivantes :

    Option Description
    Option 1 : modifier le flux de données Déplacez le fichier dans le serveur Spectrum™ Technology Platform ou le serveur de fichiers, puis modifiez le flux de données :
    1. Ouvrez le flux de données dans Enterprise Designer.
    2. Double-cliquez sur le stage source ou récepteur.
    3. Dans le champ File name, cliquez sur le bouton naviguer.
    4. Cliquez sur Ordinateur distant puis sélectionnez le fichier que vous voulez.
      Remarque : Si vous exécutez Enterprise Designer sur le même ordinateur que le serveur Spectrum™ Technology Platform, un clic sur l'Ordinateur distant aura apparemment le même effet qu'un clic sur Mon ordinateur. Cependant, vous devez sélectionner le fichier à l'aide de l'icône Machine Distante afin que le système reconnaisse que le fichier appartient bien au serveurSpectrum™ Technology Platform.
    Option 2 : remplacez l'emplacement du fichier de flux de données quand le calendrier s'exécute. Vous pouvez remplacer les références de fichiers contenues dans le flux lorsque ce calendrier s'exécute. Pour ce faire, remplacez le fichier par défaut indiqué dans chaque champ source et collecteur par un chemin d'accès à un fichier sur le serveur Spectrum™ Technology Platform ou une ressource de serveur de fichiers défini dans Management Console.
  8. Dans le champ Déclencheur, choisissez Fichier de contrôle.
  9. Dans le champ Fichier de contrôle, indiquez le chemin complet et le nom du fichier de contrôle qui déclenchera le flux. Vous pouvez spécifier un nom de fichier exact ou vous pouvez utiliser l'astérisque (*) en tant que caractère générique. Par exemple, *.trg déclenche le flux lorsqu'un fichier avec une extension .trg apparaît dans le dossier.

    La présence d'un fichier de contrôle indique que tous les fichiers requis pour le flux sont en place et prêts à être utilisés dans le flux.

    Le fichier de contrôle peut être un fichier vide. Pour les jobs, le fichier de contrôle peut indiquer des substitutions aux chemins de fichier configurés dans les stages Write to File ou Read from File. Pour utiliser un fichier de contrôle pour remplacer les chemins de fichier, spécifiez les noms de stage Read from File ou Write from File avec le fichier d'entrée ou de sortie comme derniers arguments, comme suit :

    stagename=filename

    Par exemple :

    Read\ from\ File=file:C:/myfile_input.txt 
    Write\ to\ File=file:C:/myfile_output.txt

    Le nom du stage indiqué dans le fichier de contrôle doit correspondre au libellé du stage montré sous l'icône de stage dans le flux de données. Par exemple, si le stage d'entrée est étiqueté « Read From File » vous devez spécifier :

    Read\ From\ File=file:C:/inputfile.txt

    Si le stage d'entrée est étiqueté « Clients de l'Illinois », vous devez spécifier :

    Illinois\ Customers=file:C:/inputfile.txt
    Lorsque vous remplacez un emplacement Read from File ou Write to File, veillez à suivre les directives suivantes :
    • Démarrez le chemin par le protocole « file: ». Par exemple, sous Windows, spécifiez "file:C:/myfile.txt", et, sous Unix ou Linux, spécifiez "file:/testfiles/myfile.txt".
    • Le contenu du fichier doit utiliser un codage de caractères compatible avec la norme ISO-8559-1 (Latin-1) ASCII.
    • Vous devez utiliser des barres obliques (/) pour les chemins d'accès, et non des barres obliques inversées.
    • Les espaces dans les noms de stage doivent être échappés avec une barre oblique inverse.
    • Les noms de stage sont sensibles à la casse.
    Remarque : S'il existe plusieurs calendriers qui utilisent un déclencheur de fichier de contrôle, il est important qu'ils surveillent chacun des fichiers de contrôle différents. Sinon, le même fichier de contrôle peut déclencher plusieurs jobs ou processflow et générer ainsi un comportement inattendu. À des fins organisationnelles, nous recommandons de placer tous les fichiers requis et le fichier de contrôle dans un répertoire dédié.
  10. Dans le champ Intervalle de sondage indiquez la fréquence de vérification de la présence du fichier de contrôle. Par exemple, si vous indiquez 10, l'analyseur recherche toutes les 10 secondes pour voir si le fichier de contrôle est dans le dossier surveillé.

    La valeur par défaut est de 60 secondes.

  11. Dans la dossier de job champ, indiquez un dossier dans lequel se trouve le fichier de contrôle temporairement lors de l'exécution du flux. Spectrum™ Technology Platform copie le fichier dans le dossier surveillé dans le dossier de job avant d'exécuter le flux. Cela supprime le dossier surveillé, ce qui empêche au flux d'être à nouveau renvoyé par le même fichier de contrôle.
  12. Dans le champ Options du dossier de job, précisez ce qu'il faut faire avec les fichiers dans le dossier de job lorsque le flux termine l'exécution.
    Conserver
    Laisse les fichiers à leur emplacement actuel avec leur nom actuel. Si vous sélectionnez cette option, les fichiers du dossier de job peuvent être écrasés à chaque exécution de ce calendrier.
    Déplacer vers
    Déplace les fichiers du dossier de job vers un dossier de votre choix. Cela vous permet de conserver les fichiers qui se trouvaient dans le dossier de job en les déplaçant vers un autre emplacement afin qu'ils ne sont pas remplacés la prochaine fois que le moniteur exécute. Vous pouvez également utiliser cette option pour déplacer les fichiers dans un autre dossier surveillé pour déclencher un traitement en aval, comme un autre dataflow ou un autre processus.
    Renommer avec l'horodatage
    Ajoute un horodatage au nom du fichier dans le dossier de job. Cela vous permet de conserver une copie des fichiers dans le dossier de job dans la mesure où le fichier renommé aura un nom unique et ne sera donc pas être écrasé la prochaine fois que le moniteur exécutera un flux de données.
    Supprimer
    Supprime les fichiers du dossier de job après la fin de l'exécution du flux .
  13. Si le flux de données est configuré pour la notification par courrier électronique, vous pouvez spécifier les destinataires supplémentaires pour les notifications qui seront envoyées lorsque le flux de données s'exécute. Les destinataires que vous indiquez ici recevront des notifications en plus des destinataires spécifiés dans les paramètres de notification du flux. Pour configurer un flux pour envoyer des notifications, ouvrez le flux dans Enterprise Designer et accédez à Modifier > Notifications.
  14. Cliquez sur Enregistrer.

Exemple : Surveillé dossier et le dossier de job

Imaginons que vous avez un atelier de carrosserie. Chaque jour que vous souhaitez envoyer aux clients du jour précédent un bon pour une remise sur vos service futurs. Pour ce faire, vous disposez d'un dataflow qui prend la liste de clients pour la journée, vérifie que les noms ont la casse correcte et valide les adresses. La liste de clients du jour est générée par un autre système chaque soir. Cet autre système génère un fichier contenant la liste des clients, et vous souhaitez utiliser ce fichier comme entrée pour le dataflow.

Le système qui génère la liste des clients les dépose dans un dossier nomméDailyCustomerReport. Il place également un fichier déclencheur vide dans le dossier lorsqu'il est terminé. Vous pouvez donc configurer Spectrum™ Technology Platform pour gérer ce dossier, en indiquant les éléments suivants pour le fichier déclencheur :

C:\DailyCustomerReport\*.trg

Cela indique à Spectrum™ Technology Platform d'exécuter le dataflow chaque fois qu'un fichier avec une extension .trg apparaît dans ce dossier. Vous pouvez également préciser un nom de fichier spécifique, mais dans cet exemple, nous utilisons un caractère générique.

Lorsqu'un fichier .trg est détecté dans le dossier DailyCustomerReport, Spectrum™ Technology Platform doit le déplacer vers un autre dossier avant d'exécuter le dataflow. Le fichier doit être déplacé car sinon, il serait détecté à nouveau lors du prochain intervalle de sondage, cela se traduit par la nouvelle exécution du dataflow. Par conséquent, le fichier est déplacé dans un « dossier de job » dans lequel il se trouve au cours de l'exécution du flux de données. Vous choisissez le dossier de job C:\SpectrumWorkingFolder.

Une fois que le dataflow a terminé le traitement de la liste des clients, vous souhaitez que le fichier déclencheur soit déplacé vers un autre emplacement dans lequel il déclenchera un autre processus de facturation. Par conséquent, vous sélectionnez l'option Atteindre et choisissez un dossier nommé C:\DailyBilling.

Donc dans cet exemple, le fichier déclencheur commence dans C:\DailyCustomerReport et est ensuite déplacé vers le dossier de travailC:\SpectrumWorkingFolder. Une fois que le dataflow est terminé, le fichier déclencheur est déplacé vers C:\DailyBilling pour lancer le processus de facturation.