Backend, APIs y datos · Mixto

Colas y trabajos en segundo plano

En una línea: Todo lo que dure más de un segundo y no haga falta para la respuesta al usuario pertenece a una cola, no a la petición.

Qué pasa al segundo plano

Enviar correo y notificaciones, generar informes, procesar medios, sincronizar con sistemas externos, y toda llamada a un servicio cuya disponibilidad no controlas.

El resultado: una respuesta rápida al usuario, y resiliencia: cuando el servicio externo cae, los trabajos esperan en vez de fallar.

Tres reglas por trabajo

Repetible. Una doble ejecución no crea un duplicado. Lógralo con una clave única por acción.

Pequeño. Un trabajo que corre dos horas es uno que no puedes reintentar. Divídelo.

Reportado. Inicio, fin, fallo, y número de intentos.

Lo que se olvida

Una cola de muertos para trabajos que fallaron repetidamente, con una alerta; si no, desaparecen en silencio. Reintento con retardo creciente, para no tumbar un servicio que ya sufre. Y orden: si el orden importa, fija una clave de partición; si no, no lo des por hecho.

En profundidad

Monitoriza tres métricas: longitud de la cola, edad del trabajo más viejo, y tasa de fallos. Una longitud de cola que sube despacio durante días es el síntoma temprano de la mayoría de las incidencias de carga, y se ve mucho antes de que un usuario sienta nada.