Ho un lavoro di lunga durata che aggiorna le migliaia di gruppi di entità. Voglio dare il via a un secondo lavoro in seguito che dovrà presupporre che tutti questi elementi siano stati aggiornati. Dato che ci sono così tanti gruppi di entità, non posso farlo in una transazione, quindi ho appena pianificato il secondo lavoro da eseguire 15 minuti dopo che il primo è stato completato con le code delle attività.Come sapere quando gli aggiornamenti al datastore di Google AppEngine HRD sono completi?
C'è un modo migliore?
È anche sicuro assumere che 15 minuti promettano che il datastore sia sincronizzato con le mie chiamate precedenti?
Sto utilizzando la replica alta.
Nei video IO di Google su HRD, forniscono un elenco di modi per gestire la coerenza finale. Uno di loro era "accettarlo". Alcuni aggiornamenti (come i post di twitter) non devono necessariamente essere coerenti con la prossima lettura. Ma hanno anche detto qualcosa come "hey, stiamo parlando solo di un paio di secondi prima che siano coerenti". Questo arco temporale è documentato altrove? È sicuro supponendo che aspettare 1 minuto dopo una scrittura prima di rileggere significherà che tutte le mie scritture pre-violistiche sono presenti nella lettura?
La menzione di che è al contrassegno 39:30 in questo video http://www.youtube.com/watch?feature=player_embedded&v=xO015C3R6dw
Ho dato una risposta parziale qui sotto, ma puoi dare ulteriori informazioni su cosa esattamente stai cercando di fare? – mjaggard
Fondamentalmente sto inserendo o aggiornando migliaia di entità. Quando il lavoro è completato, ho bisogno di applicare un rango agli oggetti. Quindi eseguo una query che seleziona tutti i record e li ordina per il campo che mi interessa del posizionamento. Quindi aggiorno i ranghi in un altro tipo di entità. Quel grado sarà ovviamente disattivato se le entità mancano dalla query. – user963263