Volver a las preguntas frecuentes sobre Flujos de trabajo
CENTRO DE AYUDA · FAQFlujos de trabajo1 min de lectura

¿Cómo evitar que un flujo procese el mismo evento dos veces?

Diseña el procesamiento para tolerar entregas duplicadas en vez de asumir que cada evento llega exactamente una vez. Un identificador estable, un registro persistente y un resultado idempotente permiten detectar repeticiones sin repetir efectos externos.

Flujos de trabajo

Elige una clave de deduplicación

Usa un ID de origen si es único y estable; si no, deriva una clave de campos que identifiquen el mismo evento de negocio. Evita usar solo la hora o un ID de entidad amplio, pues puede dejar pasar duplicados o fusionar actualizaciones distintas.

Guarda clave y estado de procesamiento atómicamente junto al resultado de negocio cuando el almacenamiento lo permita. Define cuánto tiempo conservarlos según reintentos tardíos y ventanas de reproducción.

Haz seguros los reintentos

Antes de enviar mensajes, crear pagos o cambiar registros externos, comprueba si el efecto ya ocurrió o usa la idempotencia del destino. El reinicio debe poder continuar desde el progreso guardado.

Prueba eventos duplicados, tardíos y desordenados, incluidos dos workers procesando el mismo evento a la vez. Supervisa deduplicaciones y rechazos para no descartar trabajo válido por una clave errónea.

Volver a las preguntas frecuentes sobre Flujos de trabajo