Skip to content

Events

Este documento detalla los mecanismos de mensajería de colas utilizados en el worker op-restocking-evaluator.

El worker op-restocking-evaluator utiliza AWS Simple Queue Service (SQS) para recibir mensajes que desencadenan evaluaciones de reabastecimiento. El worker procesa estos mensajes, evalúa las necesidades de reabastecimiento basándose en los niveles de inventario y la demanda, y crea o actualiza alertas de reabastecimiento según sea necesario.

URL de la Cola: Configurada mediante la variable de entorno QUEUE_EVALUATOR_URL

Propósito: Recibir mensajes que desencadenan evaluaciones de reabastecimiento para productos específicos en almacenes específicos.

Consumidores:

  • El RestockingEvaluatorWorker procesa mensajes de esta cola

Formato del Mensaje:

export interface EventMessage<T, D> {
type: T
data: D
context: {
country: string
warehouse: string
}
}
export type OutputTransactionEvent = EventMessage<
'OutputTransaction',
Array<{ productEan: string }>
>

Procesamiento:

  1. El worker recibe hasta 10 mensajes a la vez de la cola
  2. Cada mensaje es validado para asegurar que tiene el tipo de evento correcto
  3. Para cada mensaje válido, el worker extrae el EAN del producto, el almacén y el país
  4. El worker procesa el mensaje evaluando las necesidades de reabastecimiento
  5. Después de un procesamiento exitoso, el mensaje es eliminado de la cola
  6. Si el procesamiento falla con un error no recuperable, el mensaje es eliminado
  7. Si el procesamiento falla con un error recuperable, el mensaje permanece en la cola y será reintentado

Manejo de Errores:

  • Los mensajes con tipos de evento inválidos son registrados y eliminados
  • Los mensajes para productos con demanda cero son registrados y eliminados
  • Los mensajes para productos que no requieren reabastecimiento son registrados y eliminados
  • Otros errores son registrados y el mensaje permanece en la cola para reintento