
Fixes de producciónReencolado en corte de infra, no-marcar-cancelado-en-restart, dos queries que PostgreSQL rechazaba siempre, guard de clase para silent failures, y warmup de hilos de email sin respuesta pre-escrita.
Por qué es noticia de producto
Los 15 especialistas de ADRI dependen de OllamaTasker + Node balancer + FastAPI. Si un worker reinicia a las 3AM, el comercial no debería ver “cancelaste la tarea”. Debería ver reintento o reencolado — y el silent-failure-hunter no debería mentir sobre el corte.
- Tareas largas (OSINT, code, vision) sobreviven a blips
- Billing y tools_used solo se cierran en fin real de turno
- Operadores ven el motivo honesto del corte
Arquitectura de colas en tu on-prem
Qué falla cuando la cola no es resiliente
En una arquitectura multi-agente (Laravel tasker + balancer Node + API Python), un reinicio de worker a las 3:00 no es “un bug raro”: es el día a día. Si la tarea se marca cancelada o desaparece, el usuario pierde confianza y el billing se desincroniza (turno abierto, tools cobradas a medias).
- Reencolado: la unidad de trabajo vuelve a la cola con el mismo id de sesión/workspace.
- Idempotencia: tools de escritura no duplican efectos si el paso se repite.
- Cierre honesto: tokens y
tools_usedse consolidan al fin real del turno.
Señales operativas
Los operadores deben ver por qué se reintentó (timeout LLM, OOM, deploy), no un “error genérico”. Eso es lo que permite distinguir un fallo de modelo de un corte de infra.
Preguntas frecuentes
¿Afecta solo a code/OSINT?
Cualquier turno largo (vision, browser, enrichment) se beneficia. Los turnos de 2–3 segundos apenas se notan.
¿Puedo usarlo on-premise?
Sí: la cola es parte del stack BionicAdri/ADRI, no un SaaS de terceros obligatorio.
¿Qué ve el usuario final?
Reintento o “reanudando…” — no un mensaje de cancelación falsa.
Relacionado: agentes ADRI · arquitectura en tu infra.
- Queues
- Resiliencia
- OllamaTasker
- SRE