Usura oggeti postato il 03/06/2014 13:48:06 nel forum programmazione, gdrcd, open source, hosting e modificato da iko93 il 03/06/2014 13:48:57
Buongiorno a tutti,
Ho lavorato per implementare un sistema di usura degli oggetti basato sul tempo. Dopo un tot di giorni dall'acquisto l' oggetto si usura e viene eliminata.
Volevo chiedere un consiglio su come gestire il controllo finale per verificare che il tempo sia finito e quindi eliminare l'oggetto dal database.
L'idea è quella di far controllare una sola volta al giorno l'intera lista degli oggetti e eliminare quelli completamente usurati.
Per fare una cosa del genere però mi viene in mente solo un metodo, cioè salvarsi ulteriormente a database l'ora dell'ultimo controllo e dopo 24 ore o più rifare il controllo. Fattibile ma ho come la sensazione che non sia la scelta ottimale. Voi cosa ne pensate? Avete idee alternative su come gestire tale controllo?
Grazie, ciao.
Pagine → 1
03/06/2014 14:20:40
O usi un CronJob, se il tuo server l'ho supporto oppure fai il controllo al login del pg.
03/06/2014 16:17:14
Un controllo ad ogni login temo possa essere inefficiente. Innanzi tutto perché richiede un numero di chiamate al database inutili che era proprio ciò che volevo minimizzare. Inoltre così facendo tutti i giocatori con oggetto che non dovessero più fare accessi finirebbero per avere oggetti che invece non dovrebbero avere. A questo punto diventa più efficiente utilizzare il metodo che avevo in mente facendo una sola chiamata al database per verificare se il controllo è stato fatto e di conseguenza agire tutto in un colpo su tutti gli oggetti di database.
Potrei sbagliarmi ma a questo punto credo che anche dal punto di vista dell'efficienza sarebbe la scelta migliore. Tuttavia rimane il fatto che controllare tutti gli oggetti di tutti i giocatori in un colpo solo potrebbe creare qualche problema, o forse mi sbaglio ed effettivamente è l'unica via?
03/06/2014 16:37:37
Dipende da quanti utenti. Sostanzialmente, se un giocatore non effettua più login che abbia oggetti "usurati", non credo importi... Gli oggetti che ha sono lì a fare la muffa letteralmente e quando entrerà gli spariranno.
Personalmente non amo i CronJob (o CronTab, che dir si voglia), quindi continuo a ritenere il controllo al login più performante, in quanto lo fai con un'unica chiamata, un DELETE di quegli che rispettano i parametri dell'usura e sono posseduti dal Login in questione.
Se preferisci l'altra soluzione, la chiamata è la medesima, ma contenuta in CronTab.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Storie di Agarthi: La Lunga Notte è arrivata
I dati del generatore di rank sono stati aggiornati!
New Orleans → La Città dai Mille Volti: Crime, Feste, Mistero, Voodoo, Natura Incontaminata, Fama, Grattacieli, Luci Splendenti e Ombre Profonde.
Felix Felicis GdR - Harry Potter GdR: Le uova di... Natale? - Evento ON
Ex Gratia GDR: Massima personalizzazione coi tratti specie!
nerelyn ha aperto una nuova discussione: Personaggio in cerca di Land
The Eyrie GdR: Nuove Fazioni ed entrata in Beta
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Piume Nere: 🎄 Le Notti Sacre Sono Iniziate 🕯️
La categoria Browser Game raggiunge i 3.900 giochi catalogati!
RAID Shadow Legends: Anaxia la Rinata!
Enlisted: Test aggiornamento "Fronte dell'Estremo Oriente"
Seconda Era → Vaste terre coperte di ombre e misteri, dove ogni eroe scrive la storia del Mondo di Eidel. Seconda Era, play by chat
Ex Gratia GDR: Il nuovo manuale è online!
Star Trek Horizon: QuestLog: Natale al cubo
Black Sails Chronicles: ON - 3° Serata Gara di Bevute
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
