Skip to main content

Document Processing Control Plane

Stato: operativo.

document-processing-control-plane esegue workflow versionati senza leggere il contenuto dei documenti. Carica da data-service definizione, nodi, archi e binding applicativi; quando crea un run ne conserva uno snapshot, così una modifica successiva al workflow non cambia le elaborazioni già avviate.

Responsabilità

  • creare e tracciare processing run e task;
  • inserire i job sulle code BullMQ con priorità LIVE o BATCH;
  • valutare condizioni sugli archi e join tra rami paralleli;
  • applicare retry e politiche di errore;
  • ricevere completamenti idempotenti dei worker;
  • permettere restart da un nodo/coda senza cancellare la storia precedente;
  • offrire snapshot delle code per Admin Interface.

Non esegue OCR, analisi visuale, ricerca o classificazione e non decide dinamicamente il workflow in base a logica contenuta nei worker.

Avanzamento concorrente

Il completamento di un worker genera un job document.workflow.advance. Il worker può subito consumare un altro documento: non attende che il control plane abbia schedulato il nodo successivo. Più completamenti possono essere ricevuti contemporaneamente; aggiornamenti idempotenti e join persistiti impediscono doppi avanzamenti.

Sviluppi necessari

Per il workflow esteso il control plane dovrà supportare nodi condizionali quali il web fallback, mantenendo la decisione nei metadati dell'arco. Il risultato di issuer resolution, per esempio issuerStatus=NOT_FOUND, abiliterà l'arco verso web enrichment; un issuer RESOLVED procederà direttamente al join di classificazione.