Skip to content

Events

El worker utiliza una arquitectura basada en mensajes para procesar eventos de requisitos de pedidos en espera. Se suscribe a un tema SNS que publica eventos de cambios en pedidos, y procesa estos eventos para crear o actualizar alertas de reabastecimiento.

El flujo de mensajes es el siguiente:

  1. Los cambios en pedidos se publican en el tema SNS
  2. El tema SNS entrega los mensajes a la cola SQS suscrita
  3. El worker consulta la cola SQS para obtener mensajes
  4. El worker procesa los mensajes y crea o actualiza alertas de reabastecimiento
  5. El worker elimina los mensajes de la cola después de un procesamiento exitoso

Cola de Evaluación de Reabastecimiento Urgente

Section titled “Cola de Evaluación de Reabastecimiento Urgente”

Esta cola recibe mensajes del tema SNS y los mantiene hasta que el worker los procesa.

Nombre: restocking-urgent-evaluator-queue

Propósito: Mantener eventos de requisitos de pedidos en espera para su procesamiento por el worker

La URL de la cola se configura utilizando la variable de entorno QUEUE_URGENT_URL. Esta variable debe establecerse en la URL de la cola SQS que el worker debe consultar para obtener mensajes.

El worker utiliza la clase AwsQueueService para interactuar con la cola SQS. Esta clase proporciona métodos para:

  • Recibir mensajes de la cola
  • Eliminar mensajes de la cola después de un procesamiento exitoso

El worker procesa mensajes en lotes de hasta 10 mensajes a la vez. Para cada mensaje:

  1. Valida el formato y contenido del mensaje
  2. Verifica si el almacén existe y tiene habilitada la bandera de característica necesaria
  3. Verifica si ya existe una alerta de reabastecimiento para el producto y almacén
  4. Crea una nueva alerta de reabastecimiento o actualiza una existente al nivel “Urgente”
  5. Elimina el mensaje de la cola después de un procesamiento exitoso

Si ocurre un error durante el procesamiento, el mensaje permanece en la cola y se reintentará después de que expire el tiempo de visibilidad.