Getting Started
Este worker es un servicio automatizado diseñado para cancelar ítems de logística inversa que tienen más de 24 horas desde su creación. Su función principal es ejecutar periódicamente una tarea programada (cronjob) que identifica estos ítems antiguos y los cancela, manteniendo así la limpieza y eficiencia del sistema de logística inversa.
Tecnologías y Dependencias Clave
Section titled “Tecnologías y Dependencias Clave”El worker está desarrollado utilizando las siguientes tecnologías y dependencias:
- Node.js: Entorno de ejecución (versión 20 o superior)
- TypeScript: Lenguaje de programación con tipado estático
- Express: Framework para la creación de APIs y endpoints de administración
- Cron: Biblioteca para la programación de tareas periódicas
- @justomx/context: Gestión de contexto para operaciones asíncronas
- @justomx/either: Implementación del patrón Either para manejo de errores
- @justomx/healthcheck: Verificación de salud del servicio
- @justomx/http-client: Cliente HTTP basado en Axios
- @justomx/logger: Sistema de logging estructurado
- @justomx/rfc7807: Implementación del estándar RFC7807 para detalles de problemas
Servicios Externos Utilizados
Section titled “Servicios Externos Utilizados”El worker se comunica con el siguiente servicio externo:
- API de Logística Inversa: Servicio que proporciona endpoints para:
- Obtener ítems de logística inversa con más de 24 horas de antigüedad
- Cancelar ítems de logística inversa específicos
La URL base de este servicio se configura mediante la variable de entorno API_REVERSE_LOGISTIC_URL.
Relación con Otros Microservicios o Workers
Section titled “Relación con Otros Microservicios o Workers”Este worker forma parte del ecosistema de logística inversa de Justo, interactuando con el servicio principal de logística inversa para mantener la limpieza del sistema. No se identifican dependencias directas con otros workers, pero su función es complementaria al flujo general de gestión de logística inversa.
Componente Principal de Inicio
Section titled “Componente Principal de Inicio”El punto de entrada del worker es el archivo src/index.ts, que realiza las siguientes funciones:
- Inicializa el servidor HTTP para endpoints administrativos (salud, información)
- Configura y arranca el cronjob si está habilitado mediante la variable de entorno
CRON_ENABLED - El cronjob ejecuta periódicamente (según la expresión cron configurada) el siguiente proceso:
- Obtiene todos los ítems de logística inversa con más de 24 horas de antigüedad
- Cancela cada uno de estos ítems
- Registra el resultado de cada operación
El worker puede funcionar con el cronjob habilitado o deshabilitado, permitiendo flexibilidad en su despliegue y operación.