Almacenar resultados del trabajo en memoria caché

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Ejemplos de trabajos >

Almacenar resultados del trabajo en memoria caché

Este ejemplo explica cómo almacenar en caché el resultado de un trabajo (el llamado productor de caché) y utilizarlo en otro trabajo (el llamado consumidor de caché). Ambos trabajos se expondrán como servicios web con este comportamiento:

 

Cuando se invoque el servicio web productor de caché, enumerará recursivamente el contenido del directorio, creará o actualizará la memoria caché y generará el resultado en el explorador web.
Cuando se invoque el servicio web consumidor de caché, leerá la memoria caché creada por el servicio productor de caché y generará el resultado en el explorador web.

 

El objetivo es comparar el tiempo de ejecución de ambos trabajos y comprobar que el segundo trabajo se ejecuta con bastante más rapidez que el primero, porque consume datos almacenados en caché.

 

Requisitos

Licencias necesarias: FlowForce Server.
FlowForce Server debe ejecutarse en la dirección y en el puerto de red configurados (véase Definir la dirección de red y el puerto).
Debe tener una cuenta de usuario de FlowForce Server con permisos para uno de los contenedores (en este ejemplo se usa el contenedor /public porque está automáticamente abierto a todos los usuarios autenticados).

 

Consejos

Aunque en este ejemplo se utilizan rutas de acceso y comandos Windows, también puede probarlo en otros sistemas operativos. Basta con ajustar las rutas de acceso y los comandos según corresponda.

 

Crear los trabajos productores y consumidores de caché

1.Abra la página Configuración y navegue hasta el contenedor /public.
2.Haga clic en Crear y después seleccione Crear trabajo.
3.En el campo Nombre del trabajo escriba ListaDirectorios.
4.En la sección Pasos de ejecución añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Busque y seleccione la función /system/shell/commandline

Comando

Escriba este comando shell:

 

dir /s

 

En Windows este comando enumera recursivamente el contenido del directorio de trabajo (ver siguiente opción).

Directorio de trabajo

El valor debe ser una ubicación actual del equipo donde se ejecuta FlowForce Server. Por ejemplo c:\

 

Asignar el resultado de este paso a

Más adelante necesitaremos hacer referencia al valor que devuelve este paso de ejecución en otro paso. Por ello hace falta asignarle un nombre. En este ejemplo vamos a asignarle el valor dir.

 

5.En la sección Pasos de ejecución añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Busque y seleccione la función /system/compute

Expresión

Escriba esta expresión de FlowForce Server:ç

 

stdout(dir)

 

La función stdout convierte el resultado sin procesar que devuelve el paso de ejecución anterior en una secuencia de datos (véase Funciones para resultados de los pasos).

 

6.En la sección Resultado de la ejecución establezca un tipo devuelto secuencia. Es decir, establecemos el mismo tipo de datos que devuelve el último paso de ejecución del trabajo.
7.En la sección Almacenar resultado en caché marque la casilla Almacenar el resultado en caché.
8.Después marque la casilla Crear automáticamente un trabajo consumidor de caché y escriba ListaDirectoriosEnCaché como nombre del servicio web.
9.En la sección Servicio marque la casilla Permitir acceso a este trabajo por HTTP en la dirección URL y escriba ListaDirectorios como nombre del servicio web.

Llegados a este punto el trabajo tendrá este aspecto (si es que no usó rutas de acceso ni comandos distintos a los de las instrucciones).

 

ExampleCacheJob

 

10. En la sección Credenciales seleccione un registro de credencial actual o indique una credencial local.
11. Haga clic en Guardar para terminar.

 

 

El consumidor de caché y el productor de caché ya están listos y ahora puede comparar su rendimiento:

 

1.Acceda a la URL del servicio productor de caché (ListaDirectorios) desde el explorador web (http://[FlowForceServer]:[Puerto]/service/ListaDirectorios . Si tiene problemas para acceder al servicio web, repase la configuración actual de la dirección de red y del puerto). Recuerde que como el trabajo se configuró para que enumere el contenido del directorio c:\ recursivamente, el resultado puede tardar varios minutos en aparecer.
2.Consulte el registro de trabajos para ver cuánto tardó el trabajo.
3.Ahora haga lo mismo con el servicio consumidor de caché (ListaDirectoriosEnCaché). Como este servicio consume la memoria caché en lugar de ejecutar la lista de directorios, lo normal es que tarde mucho menos.

 


© 2019 Altova GmbH