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à
LIVEoBATCH; - 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.