Blog
TecnologíaPor Catalina Pinzón3 min de lectura

No hagas esperar a tus usuarios: trabajos en segundo plano y colas

En 30 segundos

El problema

Hago clic en "Generar reporte", la pantalla da vueltas, se agota el tiempo y vuelvo a hacer clic.

Una solicitud se responde al instante mientras los trabajos esperan en fila y los workers los toman.

La idea

Responde de inmediato y haz el trabajo pesado en segundo plano, con una cola y workers aparte.

Qué hacer

Pasa a una cola correos, PDF, llamadas de IA y sincronizaciones, con reintentos y fallos visibles.

Leer completo

Texto completo

Un usuario hace clic en "Generar reporte". La pantalla da vueltas durante cuarenta segundos y luego se agota el tiempo. Hace clic de nuevo, y ahora se están construyendo dos reportes. Este es uno de los problemas más comunes y más evitables en el software empresarial.

La idea central

Responde de inmediato, trabaja en segundo plano. Cuando una solicitud requiere un trabajo pesado o lento, la aplicación no lo hace en el momento. Coloca un trabajo en una cola y responde enseguida. Workers independientes toman los trabajos y los procesan a su propio ritmo, y al usuario se le avisa cuando el resultado está listo.

Qué debe ir en una cola

  • Correos y notificaciones
  • Generación de PDF y Excel
  • Procesamiento de imágenes, video y documentos
  • OCR y llamadas de IA, que pueden tardar segundos y a veces fallan
  • Sincronizaciones con APIs de terceros
  • Trabajo programado: Recordatorios, limpiezas, pagos y reportes diarios
  • Procesamiento de webhooks, que cubrimos en El poder de los webhooks

Qué hace confiable a una cola

  1. Reintentos automáticos con backoff: Una falla temporal espera un poco más cada vez en lugar de golpear un servicio que está en apuros.

  2. Trabajos idempotentes: Ejecutar el mismo trabajo dos veces no debe cobrarle dos veces a un cliente ni enviar dos correos.

  3. Fallos visibles: Los trabajos que siguen fallando terminan en una lista dead-letter de la que se avisa a una persona, en lugar de desaparecer.

  4. Concurrencia y límites de tasa: Respeta los límites de los servicios que llamas y evita sobrecargar tu propia base de datos.

  5. Programación: Las tareas recurrentes se ejecutan a tiempo, sin que nadie tenga que acordarse de hacer clic en un botón.

  6. Monitoreo: Puedes ver cuántos trabajos están esperando, cuánto tardan y cuántos están fallando.

Mantén informados a los usuarios

Esperar es mucho más tolerable cuando es honesto. Muestra estados claros como en cola, procesando y listo, y avisa a las personas por correo o en tiempo real cuando algo termina. El usuario nunca debería preguntarse si su clic hizo algo.

Las colas también combinan de forma natural con la infraestructura elástica: cuando la fila crece, agregas workers, que es la idea detrás de La nube: el suelo infinito.

En falcani, el procesamiento en segundo plano es parte de cómo diseñamos las aplicaciones desde el principio, porque la velocidad no es solo qué tan rápido carga una página, sino también qué tan pronto tus usuarios pueden volver a lo que estaban haciendo.

¿Tu app hace esperar a la gente? Hablemos y encontramos qué debería pasar a segundo plano.

¿Lo hacemos para tu negocio?

Pasa a una cola correos, PDF, llamadas de IA y sincronizaciones, con reintentos y fallos visibles.

Cuéntanos qué tienes en mente y te respondemos por correo.