Events
Este documento detalla las colas de mensajes y eventos utilizados en el worker de Auto-Restocking.
Visión General
Section titled “Visión General”El worker de Auto-Restocking utiliza AWS Simple Queue Service (SQS) para implementar un sistema basado en mensajes para procesar transacciones de entrada de inventario. El worker escucha una cola para eventos de transacciones de entrada, los procesa según reglas de negocio y actualiza operaciones de reabastecimiento cuando es necesario.
Eventos de Transacciones de Entrada
Section titled “Eventos de Transacciones de Entrada”Nombre: autorestock-queue
ARN en Producción:
arn:aws:sqs:us-east-1:XXXXXXXXXXXX:autorestock-queueARN en Staging:
arn:aws:sqs:us-east-2:XXXXXXXXXXXX:autorestock-queuePropósito: Recibir notificaciones sobre transacciones de entrada de inventario que necesitan ser procesadas para posibles operaciones de reabastecimiento.
Productores:
- Sistema de Gestión de Inventario (cuando se registran entradas)
Formato del mensaje:
export interface InputEventMessage { type: 'InputTransaction' | string data: { entryId: string transactionId: string productId: string productEan: string locationId: string locationType: LocationType containerId?: string description: string transactionQuantity: number timestamp: string } context: { country: string warehouse: string }}Manejo de Errores y Reintentos
Section titled “Manejo de Errores y Reintentos”El manejo de errores y reintentos se implementa de la siguiente manera:
-
Registro de Errores:
- Todos los errores de procesamiento se registran utilizando el sistema de logging.
- Diferentes tipos de errores se registran en diferentes niveles (info, warn, error) según su gravedad.
-
Eliminación de Mensajes:
- Los mensajes procesados con éxito se eliminan de la cola.
- Los mensajes que fallan con ciertos errores “aceptables” (por ejemplo,
EventTypeUnprocessableError,NotInputInPickingError,RestockingNotFoundError) también se eliminan, ya que reintentarlos no ayudaría. - Los mensajes que fallan con otros errores permanecen en la cola para reintento según las políticas de reintento de SQS.
-
Tiempo de Visibilidad:
- Los mensajes se procesan con un tiempo de visibilidad de 60 segundos, dando al worker tiempo suficiente para procesarlos antes de que se vuelvan visibles para otros consumidores.