Agregar un control de errores a un trabajo

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

Inicio >  Ejemplos de trabajos >

Agregar un control de errores a un trabajo

Este ejemplo explica cómo añadir control de errores a un trabajo que enumera el contenido de un directorio. En concreto explica cómo configurar FlowForce Server para que:

 

cuando el trabajo no se pueda ejecutar, se envíe un aviso por correo electrónico a un destinatario concreto.
cuando termine de ejecutarse el trabajo, independientemente del estado de la ejecución, se registre el ID interno del trabajo en un archivo del sistema local.

 

Para ello vamos a crear un bloque protegido con dos condiciones de control de errores (Cuando haya errores y Siempre) que se encargarán de las dos posibilidades mencionadas.

 

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).
Tener definidas las opciones de configuración de correo electrónico de FlowForce Server (véase Configurar parámetros de correo electrónico)
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

Este ejemplo utiliza expresiones de FlowForce Server necesarias para controlar los valores devueltos del trabajo. Antes de empezar este ejemplo, puede ser recomendable consultar las funciones de expresión instance-id, stderr, stdout y failed-step (véase Funciones para resultados de los pasos).
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 el trabajo

1.Primero debe crear un archivo llamado RegistroTrabajos.txt en el equipo donde se ejecuta FlowForce Server. Este archivo se utilizará más adelante.
2.Inicie sesión en FlowForce Server y abra el contenedor donde tiene permiso para crear trabajos nuevos (en este ejemplo usamos el contenedor /public).
3.Haga clic en Crear y después seleccione Crear trabajo.
4.En la sección Pasos de ejecución haga clic en el botón add y seleccione nuevo identificador de error/operación correcta.
5.Debajo de Ejecutar con identificador de error/operación correcta, haga clic en el botón add y 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:\

 

6.Debajo de la condición Cuando haya errores, haga clic en el botón add y añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Busque y seleccione la función builtin_function/system/mail/send

De

Escriba la dirección de correo electrónico del remitente. Deje este campo vacío si ya definió las opciones de configuración de correo electrónico en la página Administración.

Para

Escriba la dirección de correo electrónico del destinatario.

Asunto

Escriba el asunto del correo electrónico. Por ejemplo:

Error en el trabajo {instance-id()}

Cuerpo del mensaje

Escriba esta expresión de FlowForce Server:

Código de salida: {string(exitcode(failed-step()))}

Error estándar: {content(stderr(failed-step()))}

Resultado estándar: {content(stdout(failed-step()))}

 

Para ver qué significa cada una de estas funciones consulte el apartado Funciones para resultados de los pasos.

 

7.Ahora haga clic en nuevo identificador de error/operación correcta y después seleccione Siempre.
8.Debajo de la condición Siempre, haga clic en el botón add y 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:

echo {instance-id()} >> RegistroTrabajos.txt

 

En Windows este comando escribe el ID del trabajo en un archivo llamado RegistroTrabajos.txt. Si el archivo ya contiene datos, el texto nuevo se añadirá después de los datos actuales.

Directorio de trabajo

El valor debe ser el directorio donde se creó el archivo RegistroTrabajos.txt y debe ser un directorio del equipo donde se ejecuta FlowForce Server. Por ejemplo c:\

 

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).

 

ExxampleErrorHandling1

 

9.En la sección Desencadenadores añada un desencadenador temporizador que se ejecute cada 5 minutos, por ejemplo.

 

ExxampleErrorHandling2

 

10. En la sección Credenciales seleccione una credencial actual o indique una credencial local nueva.
11. Haga clic en Guardar.

 

 

El trabajo ya está listo y solo hace falta probarlo:

 

Para probar la condición Siempre, espere a que se cumpla la condición del desencadenador. Cada vez que esto ocurra, se anexará un ID de trabajo nuevo al contenido del archivo RegistroTrabajos.txt.
Para probar la condición Cuando haya errores, cambie los parámetros del primer paso por un valor erróneo (por ejemplo, puede indicar una ruta de acceso que no existe). En este caso, FlowForce Server enviará un correo a la dirección indicada en el campo Para del identificador Cuando haya errores. Además añadirá el ID del registro en el archivo RegistroTrabajos.txt porque este es el comportamiento prescrito por la condición Siempre.
Para ver si el trabajo se ejecutó correctamente, consulte el registro de trabajos.

 


© 2019 Altova GmbH