Torna ai progetti

05 / BACKEND · PIPELINE ASINCRONA

Backend documentale pronto per la produzione

Pipeline asincrona di elaborazione documenti costruita perché un job non possa perdersi in silenzio, con i percorsi di errore testati e non solo descritti. Estrazione di fatture come esempio.

BackendReliabilityOpen source
Concept dell'interfaccia · anteprima illustrativa — Backend documentale pronto per la produzione
Concept dell'interfaccia · anteprima illustrativa

Panoramica

Pipeline asincrona di elaborazione documenti costruita perché un job non possa perdersi in silenzio, con i percorsi di errore testati e non solo descritti. Estrazione di fatture come esempio.

La sfida

Nelle code di lavoro i job spariscono quando Redis cade, oppure si ritentano errori che non possono mai riuscire bruciando chiamate a pagamento.

Approccio architetturale

PostgreSQL come fonte di verità, Redis e ARQ come trasporto, worker che rivendica ogni job in modo condizionale nel database.

La soluzione

Documento e job vengono committati prima su PostgreSQL, l'accodamento arriva dopo; i job stallati vengono recuperati senza consumare tentativi; la ritentabilità è una classificazione, non un contatore.

Funzionalità principali

  • Job che sopravvivono a un'interruzione di Redis
  • Retry solo per errori ritentabili
  • Migrazioni testate in CI su PostgreSQL reale
  • Soglia di copertura test al 90%

Direzione tecnologica

PythonFastAPIPostgreSQLRedis

Codice su GitHub

I fatti

  • Copertura test minima 90 %, soglia imposta in CI
  • Migrazioni provate su PostgreSQL reale a ogni push
  • Job che sopravvivono a Redis giù, retry solo se ritentabile
Inizia un progetto

Prossimo progetto

CommerceAI Agent