It is currently 15 September 2019, 13:31 Advanced search

IMDB condivisa tra sessioni e procedure in background

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

IMDB condivisa tra sessioni e procedure in background

Postby dexter » 13 September 2019, 10:20

Buon giorno, per evitare attese molto lunghe su una query complessa di caricamento che legge da un DB gestionale, vorrei creare una IMDB condivisa tra sessioni su cui ogni giorno carico una gran mole di dati ed aggiornare quest'ultima tabella ogni 4 ore. Mi chiedevo, è possibile creare una IMBD condivista tra sessioni? ed inoltre è possibile lanciare una procedura senza che appaia il messaggio "attendere prego" e quindi consentire all'utente di continuare a lavorare? Grazie
User avatar
dexter
 
Posts: 121
Joined: 17 January 2018, 7:53

Re: IMDB condivisa tra sessioni e procedure in background

Postby r.bianco » 13 September 2019, 12:05

Le IMDB non sono multisessione, e non sono indicizzate, per cui su grossi quantitativi (righe) diventano molto lente.
Potresti creare una server session automatica che popola/aggiorna una o più tabelle di DB per consolidare i dati, alla frequenza che ritieni corretta.
Nelle sessioni browser degli utenti leggi dalle tabelle di consolidamento invece che rieseguire l'elaborazione.
Per non incorrere in sorprese, nella server session che popola le tabelle consolidate, eseguirei un lock delle stesse fino ad aggiornamento ultimato, così non rischi di leggere dati "a metà".
only work and no play makes jack a dull boy
r.bianco
 
Posts: 3910
Joined: 8 November 2010, 16:46

Re: IMDB condivisa tra sessioni e procedure in background

Postby dexter » 13 September 2019, 15:14

Ok! grazie molto utile. ultima domanda: l'impostazione del timer è corretta? in particolare non sapevo se spuntare l'opzione permanente. (ho già attivato serrver session sull'applicazione)

Cattura.PNG
Cattura.PNG (4.55 KiB) Viewed 44 times
User avatar
dexter
 
Posts: 121
Joined: 17 January 2018, 7:53

Re: IMDB condivisa tra sessioni e procedure in background

Postby dexter » 13 September 2019, 15:19

comunque, nonostante tutto non sembra succedere nulla. La procedura collegata al timer non scatta mai! come mai?
User avatar
dexter
 
Posts: 121
Joined: 17 January 2018, 7:53

Re: IMDB condivisa tra sessioni e procedure in background

Postby r.bianco » 13 September 2019, 15:50

Noi lo abilitiamo nell'Initialize dell'applicazione, quando il nome della server session corrisponde al nome dell'applicazione. Questo perché abbiamo altre server session e non vogliamo che si attivi su tutte.
La procedura viene attivata dopo lo scadere del timer, quindi dopo un'ora. Forse è per quello che non vedi effetto.
Permanente non lo usiamo.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 3910
Joined: 8 November 2010, 16:46

Re: IMDB condivisa tra sessioni e procedure in background

Postby r.bianco » 13 September 2019, 15:51

Attenzione che IIS uccide le sessioni che non hanno richieste dal browser dopo 20 min, per cui devi impostarlo per l'auto avvio. Trovi diversa documentazione in merito nel forum.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 3910
Joined: 8 November 2010, 16:46

Re: IMDB condivisa tra sessioni e procedure in background

Postby theguru » Today, 9:40

Se il dbms e IIs sono sulla stessa macchina, o per lo meno sullo stesso baremetal, o per lo meno su una struttura che ne ottimizza la comunicazione, valuta l'idea di utilizzare la posto delle IMDB delle tabelle fisiche con un engine di tipo memory. Risolveresti il problema della condivisione dati tra sessioni.
Le imdb di INDE hanno luci ed ombre, sopratutto a causa del fatto che progamma non fa chiarezza sulla loro implementazione.
puoi dare un occhiata a questo post (da pag 2 in poi), ma ne puoi trovare altri:
viewtopic.php?f=5&t=86860&hilit=imdb&start=10
User avatar
theguru
 
Posts: 645
Joined: 29 January 2014, 13:01


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 23 guests