AFTER (Analizzatore File Tracciati E Record)
Schema generale
Progetti
AFTER-PARTY
Worker di lettura dei file da FTP e invio ad una coda messaggi dei file, spezzati in parti
DTO entrata
- Definizione degli host ftp dai quali leggere i file da importare
Passi
- Viene letto dal file
listaAreaRecupero.jsonl’elenco degli indirizzi degli ftp dai quali leggere i file - In parallelo si accede ai vari FTP
- Viene letto singolarmente ogni file degli FTP
- Viene spezzato il file letto in parti da 100KB
- Viene inviato nella coda
DocumentoCaricatoun messaggio per ogni parte del file
AFTER-LUNCH
Il Worker attualmente si occupa del:
- Salvataggio, nel DB after, delle parti create da after-party
- Lettura e riassemblaggio delle parti salvate nel DB after, estrapolazione dei dati tramite i tracciati e invio dati nella coda
[entità ]Variazione
DTO entrata
Struttura del messaggio depositato nella coda DocumentoCaricato:
{
"Chiave": Guid,
"Nome": string,
"PartiTotali": int,
"Parte": int,
"Contenuto": string,
"DataOraCreazione": datetime,
"ElaborazioneChiave": {
"Codice": Guid
},
"SistemaChiave": (nullable){
"Codice": string
}
}Passi
- Viene consumato un messaggio dalla coda
DocumentoCaricato - Viene inserito nel DB after le informazione di testata e righe delle parti di contenuto del documento
- Una volta inserita l’ultima parte del documento viene letto il documento
- Viene letto il tracciato di riferimento in base al nome del documento e la colonna
documento_inizia_con - Per ogni tracciato vengono convertiti i dati nella rispettiva classe di riferimento
- Viene inviato un messaggio nella coda
[entità ]Variazione
AFTER-APE
Progetto per import entità tramite chiamate WEB API
DTO entrata
{
"layout": string,
"data": [ any-object ]
}Passi
- Viene verificata la validità dei dati del body
- Vengono letti i tracciati in base al
layout - Viene convertito il campo
datain base al tracciato - Viene inviato il messaggio nella coda
[entità ]Variazione
Importatori
Gli importatori consumano le code di tipo [entità ]Variazione (popolate da After-lunch/ape).
Ogni processo riceve oggetti IEvento, li gestisce e li trasforma in Aggregati e infine ne esegue il salvataggio a database.
AFTER-LIFE
Worker di pulizia del DB after
DTO entrata
- Definizione delle tempistiche di pulizia (ogni quanto in ore)
Passi
- Vengono lette le righe del DB after più vecchie delle tempistiche di pulizia
- Vengono eliminate, in gruppi da 1000, le righe ricavate nel punto 1