Saltearse al contenido

MySql Checkpointer

Bienvenido al componente MySql Checkpointer. Piensa en este nodo como un bookmark inteligente o una tarjeta de progreso para tus automatizaciones en Nappai. Cada vez que un flujo de trabajo procesa datos o ejecuta una tarea, este componente captura exactamente en qué punto se encuentra y lo guarda de forma segura. De esta manera, si necesitas pausar la tarea, si ocurre un error o si simplemente quieres revisar cómo avanzó el proceso, siempre podrás recuperarlo sin empezar desde cero.

¿Cómo funciona?

Este componente actúa como un archivo de guardado automático. Cuando tu flujo de trabajo llega a este nodo, el sistema toma el estado actual (por ejemplo, los documentos ya revisados, los datos procesados o las instrucciones pendientes) y lo prepara para almacenarlo.

Si activas la opción de guardado, el componente se conecta silenciosamente a tu base de datos MySQL y escribe esa información en un registro separado. Si la desactivas, el nodo simplemente avanza en el flujo sin guardar nada, lo cual es útil cuando solo quieres hacer una pausa temporal. Al finalizar, te entrega un identificador único del guardado y un pequeño registro con la hora y fecha exacta, para que puedas consultarlo después o integrarlo en reportes de auditoría.

Conexión y Credenciales

Este componente interactúa directamente con una base de datos MySQL externa. Para que funcione correctamente en tu dashboard de Nappai, debes asegurarte de tener configurada la conexión a la base de datos:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea o verifica que exista una credencial del tipo Database URL con los datos de acceso a tu base de datos MySQL (servidor, puerto, usuario y contraseña).
  3. En la configuración de este nodo, vincula la credencial guardada en el campo correspondiente. Esto permite que el sistema escriba y lea los puntos de control de forma segura sin exponer datos sensibles.

Entradas

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Thread ID: Identificador único que representa tu sesión o flujo de trabajo actual. Es como el nombre de un expediente que permite aislar y organizar los avances de cada proceso sin mezclarlos con otros.
  • State: Contiene la estructura de datos actual del flujo. Aquí se almacena toda la información serializable (diccionarios, listas, resultados de tareas) que deseas que se guarde como progreso.
  • Save: Interruptor condicional que decide si el componente realmente escribe los datos en la base de datos o solo actúa como un paso de tránsito. Por defecto está activo, pero puedes desactivarlo en rutas intermedias para ahorrar espacio en la base de datos.
  • Database URL: Dirección de conexión de tu base de datos. Debes configurarla previamente en el panel de Nappai para establecer el enlace seguro con MySQL.

Salidas

Este componente no transfiere datos visuales al siguiente paso. Su resultado es puramente de confirmación y gestión:

  • Checkpoint ID: Código único generado por la base de datos que actúa como ficha de recuperación. Te permite consultar ese guardado específico después o restaurar el flujo exactamente desde ese punto.
  • Metadata: Registro auxiliar con información de la operación (timestamp, versión del esquema, contadores de estado). Ideal para revisar historiales, auditar tiempos de ejecución o aplicar políticas de limpieza automática.

Ejemplo de Respuesta JSONjson

{ “checkpoint_id”: “chk_9a8f2b1c-4d5e-6f7g-8h9i-0j1k2l3m4n5o”, “metadata”: { “saved_at”: “2024-05-20T14:32:05Z”, “version”: “1.0”, “integrity_hash”: “e3b0c44298fc1c149afbf4c8996fb924”, “connection_status”: “active”, “row_count”: 1 } }

Conectividad

En un flujo gráfico de Nappai, este nodo suele conectarse al final de ramas de procesamiento largas o después de tareas iterativas (como bucles de lectura de documentos o procesamiento de lotes).

  • De entrada: Recibe datos de nodos de transformación, agentes de IA o validadores que hayan avanzado el estado del trabajo.
  • De salida: Suele alimentarse a nodos de auditoría, registros de log, o a flujos de recuperación que necesiten el Checkpoint ID para continuar desde el último punto seguro. También puede conectarse a sistemas de monitoreo que usen los Metadata para generar reportes de rendimiento o expiración de datos.

Ejemplo de Uso

Imagina que estás automatizando la revisión de 500 facturas diarias. Sin un punto de guardado, si el sistema se detiene en la factura 210, perderías todo el trabajo y empezarías de nuevo.

Al agregar MySql Checkpointer cada 50 facturas:

  1. Conectas el resultado del procesamiento a este nodo.
  2. Actives Save para que registre el avance.
  3. Si el flujo se interrumpe, usas el Checkpoint ID en un nodo de recuperación para reanudar exactamente en la factura 210, ahorrando tiempo y evitando redundancias.

Consejos y Mejores Prácticas

  • Utiliza Save solo en puntos estratégicos donde un error costaría mucho recuperar el trabajo. Evita guardarlo en cada paso pequeño para mantener la base de datos ligera.
  • Asigna Thread ID únicos por cada ejecución paralela. Si usas el mismo ID en varios flujos simultáneos, los progresos podrían mezclarse.
  • Revisa periódicamente los Metadata generados para identificar cuellos de botella o flujos que no se están completando.
  • En flujos con IA o agentes que toman decisiones iterativas, este componente es ideal para mantener un historial de decisiones por si necesitas explicar o revertir un cambio.

Consideraciones de Seguridad

  • Evita almacenar datos sensibles (contraseñas, números de tarjetas, información personal identificable) directamente en el campo State. Si es necesario, almacénalos cifrados en variables separadas.
  • Mantén tu Database URL configurada exclusivamente mediante las credenciales seguras de Nappai. Nunca pegues tokens o contraseñas directamente en los campos del nodo.
  • Este componente está marcado como is_development = True, lo que significa que su esquema o comportamiento puede ajustarse en actualizaciones futuras. Úsalo en entornos de prueba antes de aplicarlo a procesos críticos de producción.
  • Configura políticas de retención en tu base de datos para limpiar registros antiguos automáticamente y evitar el crecimiento excesivo del almacenamiento.