Mettre sous cache les résultats de tâche

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Exemples de configuration de tâche >

Mettre sous cache les résultats de tâche

Cet exemple vous montre comment mettre sous cache le résultat d'une tâche (appelée producteur de cache) et l'utilise dans une autre tâche (appelée consommateur de cache). Les deux tâches seront exposées en tant que services Web avec le comportement suivant :

 

Lorsque le service de producteur de cache Web est invoqué, il liste récursivement les contenus du répertoire, crée ou met à jour le cache, et sort le résultat dans le navigateur ;
Lorsque le service de producteur de cache Web est invoqué, il lit le cache créé par le service de producteur de cache et sort le résultat dans le navigateur.

 

Notre objectif est de comparer le temps d'exécution des deux tâches, et de voir que la deuxième tâche exécute sensiblement plus rapidement que la première tâche, puisqu'elle consomme des données cachées.

 

Conditions préalables

Licences nécessaires : FlowForce Server
FlowForce Server est exécuté à l'adresse et dans le port de réseau configuré (voir Configurer l'adresse de réseau et le port)
Vous détenez un compte d'utilisateur FlowForce Server avec des permissions vers un des conteneurs (par défaut, le conteneur /public est accessible à tout utilisateur authentifié).

 

Astuce

Bien que cet exemple utilise les chemins et les commandes Windows, vous pouvez tout de même le tester sur d'autres systèmes d'exploitation, si vous changez les chemins et les commandes en conséquence.

 

Créer le producteur de cache et du consommateur de tâche

1.Cliquer sur Configuration, puis se rendre dans le conteneur /public.
2.Cliquer sur Créer, et choisir Créer tâche.
3.Dans le champ Nom de tâche, saisir DirectoryListing.
4.Sous Étapes d'exécution, ajouter une nouvelle étape d'exécution comportant les paramètres suivants :

 

Exécuter la fonction

Chercher la fonction /system/shell/commandline.

Commande

Saisir la commande shell suivante :

 

dir /s

 

Sur Windows, cette commande liste récursivement les contenus du répertoire de travail (voir le paramètre suivant).

Répertoire de travail

Définir la valeur dans un répertoire sur l'appareil dans lequel FlowForce Server est exécuté, par exemple :

 

c:\

Attribuer le résultat de cette étape à

Nous devrons référer à la valeur retournée par l'étape d'exécution dans une étape suivante, il doit donc avoir un nom. Pour l'étendue de cet exemple, saisir dir en tant que valeur de ce champ.

 

5.Sous Étapes d'exécution, ajouter une nouvelle étape d'exécution comportant les paramètres suivants :

 

Exécuter la fonction

Chercher la fonction /system/compute.

Expression

Saisir l'expression FlowForce Server suivante :

 

stdout(dir)

 

La fonction stdout convertit le résultat brut retourné par l'étape d'exécution précédente dans un flux de données (voir Fonctions de résultat d'étape).

 

6.Sous Résultat d'exécution, définir le type de retour sur stream. Comme vous l'avez éventuellement remarqué, nous l'avons configuré au même type de données que la dernière étape d'exécution de la tâche.
7.Sous Résultat de Cache, choisir la case à cocher Mettre en cache le résultat.
8.Choisir la case à cocher Création automatique d'une nouvelle tâche de cache de consommateur, puis saisir DirectoryListingCached en tant que le nom du service Web.
9.Sous Service, cliquer la case à cocher pour choisir Rendre cette tâche disponible via HTTP, et saisir DirectoryListing en tant que le nom du service.

 

À ce niveau, la tâche devrait ressembler à l'exemple suivant (si vous n'avez pas utilisé de chemins ou des commandes shell différents).

ExampleCacheJob

10.Sous Identifiant, choisir l'entrée d'identifiant existante ou spécifier un identifiant local (voir Identifiants).
11.Cliquer sur Enregistrer.

 

 

À ce niveau, vous avez terminé la configuration des tâches de producteur de cache et de consommateur de tâche. Pour comparer la performance des deux tâches, vous pouvez :

 

1.Accéder à l'URL du service de producteur de cache (DirectoryListing) dans le navigateur, c'est à dire is http://[FlowForceServer]:[Port]/service/DirectoryListing (si vous rencontrez des problèmes pour accéder au service Web, vérifier les port et l'adresse de réseau configurés). Noter que, étant donné que la tâche a été configurée pour lister les contenus du répertoire c:\ récursivement, le processus peut prendre plusieurs minutes.
2.Veuillez vous référer au journal de la tâche pour voir combien de temps il a fallu pour effectuer la tâche (voir Consulter le journal de tâche).
3.Ensuite, procéder de même pour le service de consommateur de tâche (DirectoryListingCached). Étant donné que ce service consomme le cache au lieu d'exécuter la liste du répertoire, il sera effectué beaucoup plus rapidement.

© 2019 Altova GmbH