Diseñar un sistema de tareas en segundo plano con colas y workers
Diseña colas y workers para tareas asíncronas: elección de tecnología, jobs idempotentes, reintentos por tipo de error, prioridades, límites de concurrencia, outbox y monitorización. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.
Avanzado · Texto · Pendiente de revisión editorial
Prompt
Actúa como arquitecto de software con experiencia en procesamiento asíncrono y sistemas de colas.
Quiero sacar de la petición web el trabajo pesado o lento de mi aplicación.
- Tareas a mover a segundo plano: {{tareas}}
- Volumen y picos esperados: {{volumen}}
- Stack actual: {{stack}}
- Infraestructura y restricciones: {{infraestructura}}
Entregables:
1. Clasificación de cada tarea: urgencia, duración típica, si llama a servicios externos, si puede repetirse sin efectos secundarios y qué pasa si se pierde.
2. Opciones de tecnología (cola en la base de datos, Redis o un broker de mensajes) con ventajas, inconvenientes y coste operativo para mi caso, sin cifras de rendimiento inventadas. Recomendación justificada.
3. Diseño de los jobs: carga útil mínima (identificadores, no objetos completos), idempotencia con claves o comprobaciones de estado, timeouts y versionado del formato del mensaje.
4. Política de reintentos por tipo de error (transitorio, límite de tasa del tercero, error de datos, error de programación), backoff con jitter y cola de mensajes fallidos con un procedimiento para revisarlos y reprocesarlos.
5. Colas separadas y prioridades, concurrencia por cola y límites de tasa para APIs externas.
6. Consistencia entre base de datos y cola: patrón outbox o encolado tras el commit, y por qué no encolar dentro de una transacción abierta.
7. Tareas programadas: cómo evitar ejecuciones duplicadas con varios workers.
8. Despliegues y apagado ordenado: qué ocurre con los jobs en curso.
9. Monitorización: métricas (profundidad de cola, antigüedad del job más viejo, tasa de errores, duración), alertas y paneles.
10. Plan de migración por fases desde la situación actual.
Restricciones:
- Si falta información sobre volumen, tolerancia a retrasos o infraestructura, pregúntame primero o márcalo como [COMPLETAR].
- Prefiere la opción más simple que cumpla los requisitos y explica cuándo convendría cambiar a otra.
- Incluye un diagrama en texto del flujo completo.Cómo usarlo
- Enumera las tareas lentas actuales y cuánto tardan hoy en la petición.
- Indica qué infraestructura puedes operar de verdad (por ejemplo, si ya tienes Redis o solo una base de datos).
- Empieza moviendo una sola tarea, añade las métricas y después migra el resto.
Ejemplo de uso
Tareas: enviar emails, generar facturas en PDF, sincronizar pedidos con el ERP · 20 000 jobs al día con picos en rebajas · Stack: Laravel con MySQL · Un solo servidor y Redis disponible.
Resultado de ejemplo
1. Clasificación de tareas
| Tarea | Urgencia | Duración típica | Servicio externo | ¿Puede repetirse? | Si se pierde… |
|---|---|---|---|---|---|
| Email transaccional | Alta (segundos) | Corta | Sí (SMTP/API) | No sin clave de idempotencia | El cliente no recibe su confirmación |
| Factura PDF | Media (minutos) | Media, uso de CPU | No | Sí, si se sobrescribe el mismo archivo | Se regenera |
| Sincronización ERP | Media | Variable | Sí, con límites de uso | Solo comprobando el estado | Descuadre de pedidos |
2. Recomendación
Colas de Laravel sobre Redis + Horizon. Ya tenéis Redis, no añade otra pieza que mantener y Horizon da paneles y reintentos sin montar nada más. Un broker dedicado solo compensaría si necesitarais varios consumidores independientes o garantías de entrega más estrictas.
5. Colas y concurrencia
emails— prioridad alta, varios workers.facturas— pocos workers para no saturar la CPU del único servidor.erp— 1–2 workers yRateLimitedsegún el límite del ERP → [COMPLETAR].
Diagrama
Request → DB::transaction → outbox / afterCommit → Redis
→ Horizon (emails | facturas | erp) → reintentos con backoff → failed_jobs
Con un equipo de dos personas sin guardias, las alertas deben ir a un canal revisado en horario laboral, salvo «cola de emails parada», que merece aviso inmediato…
Datos clave
- Categoría
- Programación y desarrollo · Arquitectura de software
- Tipo de resultado
- Texto
- Nivel
- Avanzado
- Pensado para
- ChatGPT, Claude, Gemini y Microsoft Copilot
- Verificado en
- Pendiente de verificación editorial
- Variables
- Tareas en segundo plano, Volumen y picos, Stack actual y Infraestructura y restricciones
- Idioma
- Español
- Precio
- Gratis, sin registro
- Actualizado
- 07/11/2026
Preguntas frecuentes
¿Qué es el patrón outbox y por qué se recomienda?
Consiste en guardar el mensaje en una tabla dentro de la misma transacción que los datos de negocio y publicarlo después. Evita que se encole un job de algo que no llegó a guardarse, o que se guarde algo sin su job.
¿Basta con una cola en la base de datos?
Para volúmenes moderados suele bastar y no añade infraestructura. Cuando la cola compite con las consultas de la aplicación o necesitas mucha concurrencia, conviene pasar a Redis o a un broker.
¿Para qué sirve este prompt?
Diseña colas y workers para tareas asíncronas: elección de tecnología, jobs idempotentes, reintentos por tipo de error, prioridades, límites de concurrencia, outbox y monitorización.
¿Con qué herramientas de IA funciona?
Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.
¿Cómo personalizo el prompt?
Pulsa «Personalizar» y rellena las variables (Tareas en segundo plano, Volumen y picos, Stack actual y Infraestructura y restricciones). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.
¿Necesito experiencia para usarlo?
Es de nivel avanzado: está pensado para personas con experiencia en el tema que sepan evaluar y ajustar el resultado.
¿Este prompt es gratis?
Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.
¿Puedo fiarme del resultado de la IA?
Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.