Skip to content

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.

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

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.

El punto de entrada del worker es el archivo src/index.ts, que realiza las siguientes funciones:

  1. Inicializa el servidor HTTP para endpoints administrativos (salud, información)
  2. Configura y arranca el cronjob si está habilitado mediante la variable de entorno CRON_ENABLED
  3. 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.