Personalización de una tarea de servidor FlowForce

En nuestra publicación anterior, titulada "Automatización del mapeo y la transformación de datos con FlowForce Server", creamos un trabajo llamado SimpleMapAndTransform para automatizar el mapeo de datos con MapForce Server y para crear informes en formato HTML con StyleVision Server. Después de que el trabajo de FlowForce Server se ejecutara varias veces, hemos acumulado muchos archivos de salida en la misma carpeta que utilizamos para procesar los archivos de entrada, así como archivos temporales intermedios en la carpeta "workFiles", como se muestra en la imagen a continuación.

En esta publicación, mejoraremos el proceso para obtener resultados más organizados y eliminaremos los archivos temporales innecesarios.

Reorganización de la salida

Primero, podemos añadir más pasos dentro del bucle "para cada" que procesa los archivos de entrada, con el fin de mover los nuevos archivos .gpx y .html creados durante el mapeo y la transformación de datos a la carpeta "completedInput". Estos son los pasos 3 y 4 de la serie que se muestra a continuación.

La opción "directorio de trabajo" en cada paso también puede redirigir la salida. Sin embargo, la variable que utilizamos para seleccionar cada archivo de entrada para su procesamiento contiene la ruta completa y el nombre del archivo, por lo que es más sencillo seguir utilizando esa cadena y mover todos los archivos de salida una vez que el procesamiento se haya completado.

Nuestro diseño StyleVision para el informe incluye un gráfico que se guarda como un archivo .png, de forma independiente del documento .html principal. El último paso del proceso utiliza una función de línea de comandos del sistema para mover todos los archivos .png desde la carpeta de entrada a la carpeta de trabajo finalizada.

La función de línea de comandos permite definir cualquier comando válido del sistema operativo como un paso de un trabajo en FlowForce Server. En este trabajo, seguimos dentro del bucle "para cada", por lo que los archivos .png se moverán junto con el documento .html asociado. Utilizamos un comodín para el nombre de archivo .png porque los archivos .png no siguen exactamente el patrón de nombres de los documentos de entrada. El patrón de comodín también funciona para los diseños de StyleVision que crean múltiples gráficos para cada informe.

Pasos para realizar tareas de limpieza

Es una buena práctica limpiar periódicamente el contenido de los directorios de trabajo. En nuestro trabajo, la carpeta "workFiles" se utiliza para expandir el contenido del archivo .pxf para la generación de informes. La captura de pantalla de este directorio, que se muestra en la imagen en la parte superior de esta publicación, muestra el esquema XML, los archivos de trabajo para el diseño, los archivos .XSLT para generar diferentes formatos de informe y los archivos de trabajo temporales.

Podríamos añadir un paso de limpieza después del bucle "para cada" en nuestro trabajo para limpiar inmediatamente después del procesamiento. Sin embargo, el servidor FlowForce permite ejecutar múltiples instancias simultáneas del mismo trabajo. Sería perjudicial que una instancia eliminara la carpeta "workFiles" mientras otra instancia aún la está utilizando.

Una solución mejor es definir una tarea de limpieza separada y programarla para que se ejecute en un momento en que la tarea principal esté inactiva. Aquí hay un ejemplo de una tarea de limpieza muy sencilla para la carpeta "workingFiles", utilizando nuevamente la función de línea de comandos:

Utilizamos un comodín para eliminar todo el contenido del directorio "workFiles", pero esa opción podría no ser adecuada en todos los casos. Si el archivo .pxf contiene hojas de estilo .css o archivos de imagen que son necesarios para el documento .html, será necesario realizar tareas de limpieza más personalizadas.

Desencadenantes laborales

El trabajo original "SimpleMapAndTransform" está programado para ejecutarse cada 15 minutos, de 8:30 a 17:00, de lunes a viernes. Como se muestra arriba, el trabajo de limpieza está programado para ejecutarse una vez al día a las 19:00 (7:00 PM). La página de inicio de la interfaz web de FlowForce Server muestra el programa de ejecución de los trabajos:

Aquí hay un truco rápido que puede usar para probar una tarea de FlowForce Server mientras la está configurando. Cada tarea puede tener múltiples disparadores de calendario. Podemos definir un disparador de "ejecutar una vez" para probar inmediatamente una tarea nueva y programarla para que se ejecute en unos pocos segundos:

Podemos obtener información inmediata consultando el registro del servidor FlowForce, donde se detallan los pasos de cada tarea.

FlowForce Server está disponible para las plataformas Windows, Linux y, próximamente, para Mac OS Haga clic aquí para descargar una versión de prueba gratuita!