puoi creare questi buffers comme tabelle temporanee oppure una bella tabellona buffer (ovviamente dipende da quanta gente ci sta smanacciando sopra) pero' sono problemi risolvibili con un job manager o da cron temporizzate ogni x tempo fatte occulatamente.
COsi' ti risolvi un sacco di problemi in quanto anche se viene eseguita una richiesta doppia questa viene accodata controllata ed eventualemtne scartata e segnalata l'anomalia.
Sappi che non e' porprio immediata come cosa da fare e ti servireanno almeno 3 tabelle
1- main match buffer
2- processing list
3- logs
x- e forse altre
il main buffer e' quello che e' una lista di richieste con determinati parametri
la processing list serve per tenere traccia di cosa stanno facendo i cron jobs
la terza serve per ovviamente loggare (ma puoi fare anche in altro modo)
l'idea e' :
si parte dai push delle richieste nel buffer
dopo tempo x parte cron
1-> controlla da pocessing list se ci sono altre istanze di cron a lavoro sui match in corso
2-> esegui selezione delle request non in fase di processamento in base al controllo al punto precedente
3-> esegui processamento e traccia nella proccess list cosa stai processando.
Questo serve perche' se l'ìistanza del cron job non termina prima del clock potresti avere 2 istanze dello stesso cron che lavorano sugli stessi dati.
Fatto questo vedrai che non potranno fre request duplicate etc...
Questo epro' genera problemi di gestione sincronia lato cron tab e controllo operazioni per l'utente. Ma sono problemi risolvibili con un poca di attenzione che d'altro canto evitano una marea di problemi di utenti malintenzionati![]()