Sono nuovo nella programmazione web. Sono più esperto e a mio agio con il codice lato client. Recentemente, mi sono dilettato nella programmazione web attraverso il Google App Engine di Python. Mi sono imbattuto in qualche difficoltà mentre cercavo di scrivere alcune semplici app a scopo di apprendimento, coinvolgendo principalmente come mantenere una sorta di stato coerente e universalmente accessibile per l'applicazione.
Ho provato a scrivere un semplice sistema di gestione delle code, il tipo che ti aspetteresti di usare in una piccola clinica o in una caffetteria. In genere, questo viene fatto con l'hardware. Prendi un numero da una biglietteria, e quando il tuo numero viene visualizzato o chiamato ti avvicini al contatore per il servizio. In alternativa, potresti ricevere un piccolo cercapersone, che emetterà un segnale acustico o vibrerà quando è il tuo turno di ricevere assistenza. Il primo è un po 'migliore in quanto hai un'idea di quante persone sono ancora in testa davanti a te.
In questa situazione, lo stato globale è l'ultimo numero in coda, che deve essere aggiornato ogni volta che viene effettuata una richiesta al server. Non sono sicuro del modo migliore per archiviare e mantenere questo valore in un contesto GAE.
La soluzione che ho pensato era di mantenere il valore nel Datastore, tentare di interrogarlo durante una richiesta di ticket, aggiornare il valore e quindi memorizzarlo nuovamente con put. Il mio problema è che non ho capito come bloccare la risorsa in modo che altre richieste non controllino il valore mentre è in corso di aggiornamento. Sono preoccupato che possa finire le richieste di biglietti con lo stesso numero di coda. Inoltre, l'intera soluzione mi sembra imbarazzante. Mi stavo chiedendo se ci fosse un modo più naturale per realizzare questo senza dover passare attraverso il Datastore.
Chiunque abbia più esperienza in questo dominio può fornire alcuni consigli su come affrontare la progettazione della suddetta applicazione?