mySql, cicli e asp.net
lotstyl non è online. Ultima attività: 13/11/2008 15.11.00lotstyl
Inserito il: 13 maggio 2008 20.56
85 messaggi dal 06 giu 2005 Istalla Microsoft Silverlight!
Ragazzi ho costruito una semplice applicazione che permette all'utente di scegliere un data di scadenza che una volta raggiunta fa scattare un determinato evento. Il tutto viene salvato in un database mySql, e sono arrivato ad un punto critico:

per compiere l'operazione deve controllare se la data locale corrisponde ad una data presente nel database, se si faccio scattare l'evento a tutti gli utenti che l'hanno impostata. Il problema è che la precisione è all'ordine del secondo. Come faccio a far scattare gli eventi esattamente nella data e orario specificato? Faccio un loop infinito che ad ogni secondo analizza tutt i record del database e trova la data di scadenza uguale a quella locale? Esiste una soluzione più performante dato che se i record iniziano a diventare tante migliaia il processo inevitabilmente inizierà a rallentare tutto facendomi perdere la precisione al secondo?

Grazie mille
Microsoft Most Valuable Professional
RE: mySql, cicli e asp.net
nostromo è online. Ultima attività: 20/11/2008 10.33.57nostromo
Inserito il: 13 maggio 2008 22.48
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12490 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
è difficile da fare con un applicazione web, se nessuno fa l'accesso l'applicazione non verrà mai eseguita

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: mySql, cicli e asp.net
lotstyl non è online. Ultima attività: 13/11/2008 15.11.00lotstyl
Inserito il: 13 maggio 2008 23.02
85 messaggi dal 06 giu 2005 Istalla Microsoft Silverlight!
pensavo di attivare l'operazione su un thread differente, così che una volta lanciato non termina mai, anche quando non c'è nessun utente, facendolo partire da Application_Start
spero di non sbagliarmi..

Modificato da lotstyl il 13 maggio 2008 23.07 -
Microsoft Employee
RE: mySql, cicli e asp.net
AlessC-MSFT non è online. Ultima attività: 17/11/2008 8.36.54AlessC-MSFT
Inserito il: 14 maggio 2008 04.55
contributi / Blog / 171 messaggi dal 04 giu 2007 Istalla Microsoft Silverlight!
Interessante. A naso userei una struttura in memoria, magari un dataset che abbia sempre i prossimi N eventi da notificare.
Assumo per semplicità che tu non accetti un evento da notificare se ci sono meno di M secondi alla scadenza (per esempio una o due ore)

Dopodiché avrai un worker thread che esegue qualcosa del tipo

Notifica il primo evento
Tra quando è il prossimo? (prossimo.DataDaNotificare - Now)
Vai a dormire fino ad allora.

Un altro thread che gira ogni M secondi si occuperà di rinfrescare la cache che il worker usa per spedire le notifiche.

Un'altra assunzione è che le notifiche siano spedite in modo asincrono o che il tempo T necessario a processare una notificazione sia trascurabile se paragonato alla distanza minima tra due eventi (T << 1 sec)

Saluti

--Alessandro

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


gghi - 1000 pt
PeppeDotNet - 700 pt
vladimiro - 210 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio Windows Vista Ultimate, ANTS Profiler e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums