marco-svitol / quaestio-be

MIT License
1 stars 0 forks source link

BOT notturno per alimentare la cache #133

Open marco-svitol opened 3 months ago

marco-svitol commented 3 months ago

Descrizione

Un BOT notturno che esegue le chiamate più pesanti su tutte le combinazioni di Richiedente/AreaTecnica per preparare la cache per il giorno

Criteri di accettazione

La cache è alimentata con tutte le possibili combinazioni e di Richiedente/AreaTecnica per ogni Organization

Dettagli implementativi

  1. La chiave della cache attualmente comprende la data, quindi la soluzione ottimale è : a. il BOT esegue tutte le possibili combinazioni senza filtro data, b. le chiamate con filtro data si basano sul contenuto della cache

Se la b. è troppo complessa lasciamo che le chiamate con filtro data vdano direttamente su OPS

Nice to have

marco-svitol commented 2 months ago

b. -> Impossibile applicare il filtro data sulla cache attuale, perchè la cache attuale è già un consolidamento dei dati XML di OPS. Per ottenere la possibilità di applicare i filtri data su risultati cachati, bisognerebbe non cachare i risultati consolidati (puliti, filtrati, e raggruppati per family) ma cachare i risultati raw XML e rifare l'algoritmo di consolidamento utilizzando le date fornite dal FE. Per ora non c'è necessità di introdurre questa feature che richiede comunque una certa complessità: il beneficio sarebbe minimo.

Anche a. è eccessivo per il momento, dato che, da prova empirica, risulta che ove ci sia selezionata una Area Tecnica anche se non è selezionato un arco temporale, i risultati sono già ridotti: nel caso peggiore 200-300.

Mentre vale la pena alimentare la cache dei Richiedenti senza AreaTecnica e senza arco temporale. Ovviamente questo non esclude che possano essere effettuate ricerce con archi temporali ampi e che quindi non sono cachate, che possono contenere anche esse migliaia di risultati.

marco-svitol commented 2 months ago

Bot nottuno implementato. Temporanemante le query sono hardcoded:

Spostare altri parametri hardcoded se ce ne sono, in settings.