Vai al contenuto
BionicAdri

Coda resiliente: un'interruzione dell'infrastruttura non uccide più l'attività

In un sistema multi-agente, la peggior UX non è la latenza: è perdere il lavoro. In Laravel abbiamo reso più robusta la coda: le interruzioni dell'infrastruttura vengono reinserite in coda; i riavvii dell'API non vengono registrati come annullamento umano; query rotte in PostgreSQL vengono rilevate con un guard di classe.

Documentos que entran en fila en una cámara acorazada, como una cola de tareas que no pierde trabajo

Fix di produzioneReinserimento in coda in caso di interruzione dell'infrastruttura, non-marcare-come-annullato-al-riavvio, due query che PostgreSQL rifiutava sempre, guard di classe per silent failures, e warmup di thread di email senza risposta pre-scritta.

Perché è una notizia di prodotto

I 15 specialisti di ADRI dipendono da OllamaTasker + Node balancer + FastAPI. Se un worker si riavvia alle 3:00, il commerciale non dovrebbe vedere “hai annullato l'attività”. Dovrebbe vedere un nuovo tentativo o un reinserimento in coda — e il silent-failure-hunter non dovrebbe mentire sull'interruzione.

  • Le attività lunghe (OSINT, code, vision) sopravvivono ai blip
  • Billing e tools_used si chiudono solo alla fine reale del turno
  • Gli operatori vedono il motivo onesto dell'interruzione

Architettura delle code nel tuo on-prem

Cosa falla quando la coda non è resiliente

In un'architettura multi-agente (Laravel tasker + balancer Node + API Python), un riavvio di worker alle 3:00 non è “un bug raro”: è la quotidianità. Se l'attività viene marcata come annullata o sparisce, l'utente perde fiducia e il billing si desincronizza (turno aperto, tool addebitati a metà).

  • Reinserimento in coda: l'unità di lavoro torna in coda con lo stesso id di sessione/workspace.
  • Idempotenza: i tool di scrittura non duplicano gli effetti se il passo si ripete.
  • Chiusura onesta: i token e tools_used si consolidano alla fine reale del turno.

Segnali operativi

Gli operatori devono vedere perché è stato ritentato (timeout LLM, OOM, deploy), non un “errore generico”. Questo è ciò che permette di distinguere un guasto del modello da un'interruzione dell'infrastruttura.

Domande frequenti

Riguarda solo code/OSINT?

Qualsiasi turno lungo (vision, browser, enrichment) ne beneficia. I turni da 2–3 secondi quasi non si notano.

Posso usarlo on-premise?

Sì: la coda fa parte dello stack BionicAdri/ADRI, non un SaaS di terze parti obbligatorio.

Cosa vede l'utente finale?

Ritentativo o “riprendendo…” — non un falso messaggio di annullamento.

Correlato: agenti ADRI · architettura nella tua infrastruttura.

  • Code
  • Resilienza
  • OllamaTasker
  • SRE

Demo senza impegno

Guardalo con i dati della tua azienda

Ti mostriamo ADRI al lavoro su un tuo compito reale, in circa 15 minuti.

[email protected]+34 604 87 17 35