Originariamente inviato da Manuelandro
guarda io ho letto in giro, anche tra le pillole qui, che anche se rari possono esserci casi di query inviate nello stesso istante. Per questo "temo" di avere problemi, in quanto vorrei che fosse il più solido possibile. Ti faccio un esempio: se nello stesso istante due utenti puntano 7,00€, ovviamente l'asta avrà un solo utente come ultimo puntatore e vincente, e dato che l'altro ha puntato la stessa cifra ed ha pagato per puntare, si ritroverà con l'aver perso i soldi della puntata inultilmente.
Il fatto è che bisogna prendere in considerazione tutti i fattori:
1) di che tipo di asta si parla
2) è realmente necessaria una gestione di questo "problema" per il tipo di asta in questione
Nei siti di aste a ribasso troviamo due tipi di aste (ce ne sono tanti, ma fondamentalmente riconducibili a due macro-categorie):
1) asta a ribasso classica: conto alla rovescia, vince l'offerta unica più bassa
2) asta a ribasso con timer incrementale: vince l'offerta unica più bassa ma ad ogni offerta il timer viene incrementato di X secondi
3) [ho detto due ma ce la aggiungerei] asta a rilancio: non è un asta a ribasso, ad ogni "rilancio" (il giocatore non sceglie l'importo) il valore dell'asta viene incrementato di X euro ed il conto alla rovescia di Y secondi
nel primo tipo di asta non ha alcuna importanza se due utenti fanno la stessa offerta, vincerà (se quella risulterà essere l'offerta fatta il minor numero di volte) il giocatore che l'ha effettuata per primo, quindi ti devi solo salvare la data dell'offerta ed avere un id incrementale per ogni offerta.
nel secondo tipo hai la stessa identica situazione del primo tipo, con l'aggiunta di dover incrementare il contatore di fine asta (qui devi gestire un po più cose ma non riguardano le offerte bensì che contatore usare per stabilire la fine dell'asta).
nel terzo tipo l'utente non fa alcuna offerta quindi non avrai due utenti che punteranno lo stesso valore, avrai solo una serie di rilanci che stabiliranno il costo finale dell'oggetto.
Come vedi in nessuna di queste aste servono particolari meccanismi per gestire la concorrenza degli utenti.