Altova FlowForce Server 2024 Advanced Edition

Mettre sous cache les résultats de tâche

Accueil Préc Haut Suivant

Cet exemple affiche comment mettre sous cache le résultat d’une tâche (référencé comme producteur de cache) et l’utiliser dans une autre tâche (référencé comme 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.

 

Prérequis

Licences requises : FlowForce Server

Les services FlowForce Web Server et FlowForce Server doivent écouter adresse réseau et le port configurés.

Vous disposez d’un compte utilisateur FlowForce Server avec des permissions vers un des conteneurs (par défaut, le conteneur /public est accessible à tout utilisateur authentifié).

 

Note:Bien que cet exemple utilise des chemins et des commandes Windows, vous pouvez le tester sur d’autres systèmes d'exploitation en modifiant les chemins et les commandes.

 

Configurer la tâche

1.Cliquer sur Configuration, puis se rendre dans le conteneur /public/Examples. Le conteneur public/Examples devrait déjà exister si vous avez bien suivi les exemples précédents, sinon, le créer en utilisant la commande Créer | Créer conteneur.

2.Cliquer sur Créer, puis sur Créer tâche.

3.Dans le champ Nom de tâche, saisir CachedResult.

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

 

Exécuter fonction

Chercher la fonction /system/shell/commandline.

Commande

Saisir la commande shell suivante :

 

dir /s

 

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

StyleVision Server

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

 

C:\

 

Si vous souhaitez utiliser un répertoire différent, en choisir un qui est suffisamment grand pour la liste récursive du contenu du répertoire dure au moins 20-30 secondes.

Attribuer ce résultat d'é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 avec les paramètres suivants :

 

Exécuter 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 Étapes d’exécution, définir le type de retour sur stream. Comme vous l’avez probablement remarqué, nous l’avons défini sur le même type de données que celui retourné par la dernière étape d’exécution de la tâche. La tâche devrait maintenant ressembler à l’exemple suivant :

fs_cache_example_01

7.Sous "Résultat de cache", cocher la case Mettre en cache le résultat.

8.Cocher Création automatique d’une nouvelle tâche de consommateur de cache, puis saisir DirectoryListingCachedService en guise du nom du service Web.

fs_cache_example_02

9.Sous "Service", cliquer pour sélectionner la case à cocher Rendre cette tâche disponible via HTTP et saisir DirectoryListingService en guise de nom du service.

fs_cache_example_03

10.Sous "Identifiants", choisir un enregistrement d'identifiant existant ou spécifier un identifiant local, voir Identifiants.

11.Cliquez sur Enregistrer.

 

Exécuter la tâche

Vous avez maintenant terminé la configuration de la tâche du producteur de cache et celle du consommateur du cache. Pour tester la performance du service non mis sous cache (DirectoryListingService) dans le navigateur, exécuter la tâche en suivant une des approches suivantes :

 

Se rendre sur Accueil, puis cliquer sur Afficher tous les déclencheurs et les services actifs. Ensuite, cliquer sur l’URL de la tâche affichée dans la colonne "Info ».

Saisir http://127.0.0.1:4646/service/DirectoryListingService dans la barre d'adresse du navigateur. Noter que cette URL fonctionne uniquement si le service FlowForce Server écoute l’adresse d’hôte par défaut et le nom de port. Si vous avez défini d’autres paramètres d’hôte et de port dans la Page de Configuration, modifier l’adresse.

Si vous définissez Ile champ optionnel Nom d’hôte du FlowForce Server depuis la Page de configuration, vous pouvez exécuter l'appel de service Web directement depuis la page de configuration de la tâche, en cliquant sur la touche fs_ic_call_ws adjacente à la case à cocher Rendre cette tâche disponible via HTTP. Sinon la touche ne sera pas affichée.

 

Lorsque vous êtes invité à accéder au service Web, fournissez les mêmes identifiants que vous utilisez pour vous connecter à FlowForce Server.

 

Vous ne fournirez vos identifiants d’utilisateur FlowForce Server pour l’authentification HTTP qu’à des fins de test. Pour la production, il est recommandé de créer un nouvel utilisateur FlowForce, d’accorder la permission Service - Utiliser à cet utilisateur dans le conteneur dans lequel la tâche est située, puis d’accéder au service Web avec le compte d’utilisateur correspondant. Pour désactiver l'authentification HTTP et rendre le service Web public, accorder la permission Service - Utiliser à l’utilisateur Anonymous, voir Comment fonctionnent les permissions.

 

Veuillez noter qu’étant donné que la tâche a été configurée pour recenser le contenu du répertoire C:\ récursivement, la procédure peut durer plusieurs minutes. Vous devrez vous référer au journal de la tâche pour voir combien de temps il a fallu pour achever la tâche, voir Consulter le Journal de la tâche.

 

Pour tester la performance du service du consommateur de cache (DirectoryListingCachedService), saisissez http://127.0.0.1:4646/service/DirectoryListingCachedService (ou l’URL équivalent si votre nom d’hôte et le port sont configurés différemment) dans la barre d’adresse du navigateur. Puisque ce service consomme le cache au lieu d’exécuter le listage de répertoire, il devrait mettre beaucoup moins de temps à s’achever.

© 2018-2024 Altova GmbH