![Use checkpoints in background processing](https://demo5-academy.pega.com/sites/default/files/styles/1024/public/media/images/2021-08/Background%20processing_DOC-90698_1.png?itok=lUQe4T-R)
Gestión de procesos en segundo plano
Actividades y procesamiento en segundo plano
Las actividades proporcionan flexibilidad para automatizar las tareas de procesamiento del sistema. Por ejemplo, una organización desea ofrecer un 20 % de descuento en los productos que vencerán en siete días. Un programador de trabajos ejecuta una actividad una vez al día para realizar esta tarea. Para habilitar este proceso, primero deberá configurar un reporte que filtre los productos que vencerán transcurridos siete días desde la fecha del reporte. Luego, crea una actividad de programador de trabajos para ejecutar el reporte, aplicar el descuento a los productos que vencerán y actualizar los precios de los productos en la base de datos.
El siguiente video muestra la actividad que comienza cada vez que se inicia el programador de trabajos.
Transcripción de video
El programador de trabajos se inicia a las 00:00 y genera un reporte que incluirá una lista de productos que vencerán en siete días. El reporte recupera los productos que vencerán en siete días. El programador de trabajos bloquea los productos y aplica el descuento a los productos que vencerán. El programador de trabajos confirma las actualizaciones en la base de datos. Cuando se completan las actualizaciones, el programador de trabajos espera 24 horas para volver a iniciarse.
Transacciones de bases de datos con procesamiento en segundo plano
Los procesadores de colas y los programadores de trabajos manejan las transacciones de lectura/escritura en objetos de base de datos de diferentes maneras. Como se muestra en el video, un programador de trabajos incluye pasos en la actividad para identificar los artículos que vencerán en siete días, aplica el descuento y, luego, guarda y confirma el cambio. Los programadores de trabajos utilizan una actividad para gestionar cualquier operación de lectura/escritura que ejecuten sobre los objetos de base de datos. Los procesadores de colas gestionan de manera automática las transacciones de lectura/escritura en los objetos de base de datos. Si un procesador de colas necesita actualizar un objeto, la actividad no debe contener ningún paso para ejecutar la lectura/escritura de objetos en la base de datos como parte del proceso.
Prácticas recomendadas para la configuración del procesamiento en segundo plano
Los procesadores de colas y los programadores de trabajos son trabajos en segundo plano que utilizan una actividad para implementar la lógica de procesamiento. Se espera que estas actividades finalicen el procesamiento en menos de unos pocos segundos. Si una actividad lleva más tiempo del estipulado en finalizar, utilice las siguientes prácticas recomendadas para garantizar que los objetos de trabajo no se vean afectados durante el proceso de apagado.
Crear objetos de trabajo pequeños
Divida los objetos de trabajo grandes en objetos de trabajo más pequeños. Póngalos en la cola de un procesador de colas y procéselos de manera individual. Si tiene tareas en segundo plano que se dividen en múltiples tareas con capacidades de rendimiento diferentes, considere dividirlas y escalarlas de manera independiente.
Utilizar puntos de control
Para asegurarse de que la lógica de la actividad pueda manejar los reinicios con agilidad y sin dañar los datos o introducir inconsistencias en su aplicación, utilice puntos de control. Para ello, guarde el estado de los trabajos en un almacenamiento persistente o como mensajes en una cola que sea apropiada para el caso de uso.
Como se muestra en la siguiente imagen, considere un escenario en donde un objeto de trabajo pueda tener los siguientes estados: New, In-Progress y Processed. Puede leer todos los registros del objeto de trabajo que se procesarán, pasar por ellos uno a uno, marcar el estado del objeto de trabajo actual como In-Progress, continuar con la lógica del negocio y, cuando el procesamiento se haya completado, cambiar el estado a Processed (Procesados).
Separar la lógica del negocio de la lógica de la transacción
Al configurar las actividades del programador de trabajos, separe la lógica del negocio de la lógica de la transacción. Por ejemplo, una empresa les envía cartas de salutación a sus empleados para celebrar los aniversarios de trabajo. La lógica del negocio identifica a los empleados que cumplan aniversarios de trabajo. La lógica de transacción ejecuta el proceso para enviar la carta. La separación de lógicas le permite ajustar el procesamiento si la actividad no puede obtener un bloqueo. Para separar la lógica, puede crear una actividad para la lógica del negocio y otra para la lógica de la transacción.
Gestión de procesos en segundo plano
Los procesadores de colas y los programadores de trabajos pueden no procesar correctamente los elementos por muchos motivos. Por ejemplo, los procesos no pueden obtener un bloqueo sobre una entrada porque no tienen acceso de seguridad o porque otro usuario o proceso ya tienen un bloqueo sobre el objeto.
Los procesadores de colas ponen en cola los objetos y luego los procesan. Como se muestra en la siguiente imagen, si el proceso falla y el sistema no puede confirmar la entrada de cola, el sistema cambia el estado de la entrada a fallido e indica que el proceso está dañado. El sistema también revierte cualquier cambio que el proceso haya iniciado.
En Admin Studio, se utiliza la landing page del procesador de colas para rastrear y monitorear las reglas del procesador de colas en su aplicación. Si hay un error, los usuarios con el rol SysAdmin4 pueden resolver los problemas con el procesador de colas rastreando los procesos en ejecución y examinando los elementos en la cola defectuosa.
El programador de trabajos dispara el procesamiento de los elementos en los momentos configurados previamente. El programador de trabajos no pone elementos en cola. Para solucionar los problemas con los procesos del programador de trabajos, puede ejecutar un rastreo de los procesos fallidos. También puede configurar la herramienta de rendimiento para gestionar la agregación estadística para las reglas del programador de trabajos.
Nota: Para obtener más información sobre la configuración de la herramienta de rendimiento para las estadísticas del programador de trabajos, consulte Configuración de la herramienta de rendimiento para las reglas del programador de trabajos. Para obtener más información sobre la gestión de los procesadores de colas y los programadores de trabajos, consulte Gestión de los procesadores de colas y Gestión de los programadores de trabajos.
Compruebe sus conocimientos con la siguiente actividad:
This Topic is available in the following Module:
If you are having problems with your training, please review the Pega Academy Support FAQs.
¿Quiere ayudarnos a mejorar este contenido?