Getting Started
El Data Inventory Worker es un servicio diseñado para transformar notificaciones del sistema Inventory Manager a un formato adecuado para el equipo de Datos. Actúa como un puente entre el sistema de gestión de inventario y los procesos de análisis de datos, asegurando que la información de inventario sea procesada correctamente y esté disponible para su análisis.
Tecnologías y Dependencias Clave
Section titled “Tecnologías y Dependencias Clave”- Node.js: Entorno de ejecución (v20+)
- TypeScript: Lenguaje de programación para código con tipado seguro
- Express: Framework web para el servidor HTTP
- AWS SDK: Para interactuar con servicios de AWS (SQS, SNS)
- cron: Para programar tareas periódicas
- @justomx/either: Para manejo funcional de errores
- @justomx/context: Para gestión de contexto
Servicios Externos
Section titled “Servicios Externos”El worker interactúa con los siguientes servicios externos:
- AWS SQS (Simple Queue Service): Utilizado para recibir mensajes de eventos de inventario que necesitan procesamiento
- AWS SNS (Simple Notification Service): Utilizado para publicar eventos de transacciones de inventario procesados a los suscriptores
Estos servicios están implementados en el directorio src/infrastructure/services:
queue/index.ts: Implementa el cliente SQS para recibir y eliminar mensajesevent-dispatcher/index.ts: Implementa el cliente SNS para publicar eventos
Relación con Otros Microservicios
Section titled “Relación con Otros Microservicios”Este worker forma parte de un ecosistema más amplio de microservicios:
- Recibe mensajes del sistema Inventory Manager a través de una cola SQS
- Procesa estos mensajes, transformándolos en un formato adecuado para el análisis de datos
- Publica los eventos procesados en un tema SNS, donde pueden ser consumidos por los servicios del Equipo de Datos
Componente Principal
Section titled “Componente Principal”El punto de entrada principal del worker se encuentra en src/index.ts. Este archivo:
- Inicializa el worker y sus dependencias
- Configura un trabajo cron si está habilitado a través de la configuración
- En cada ejecución del trabajo cron:
- Crea un nuevo contexto para la operación
- Inicializa el procesador de inventario de datos
- Crea una nueva instancia de DataInventoryWorker
- Ejecuta el worker para procesar mensajes de la cola
- Maneja cualquier error que ocurra durante el procesamiento
El worker puede configurarse a través de variables de entorno, incluyendo la habilitación/deshabilitación del trabajo cron y la configuración de su programación de ejecución.