Since I know very few details, I could be completely wrong, but it seems like this is a candidate for the typical high throughput 'fan-in' batch processing. The way I prefer to do this is:
1) Add each work item to a Pull queue 2) Create a named task on a Push queue at your desired interval (say 1 second) 3) The named task executes (on a front-end or back-end according to your needs) and pulls the existing work from the Push queue in batch 4) Process the batch of work as desired (i.e. update the leader-board) You still cannot guarantee latency, and I think it is hard to do that under any circumstances, but it does eliminate the need to write temporary work objects to the datastore (you are using the task queue system instead). On Tuesday, July 31, 2012 12:35:26 PM UTC-4, Richard wrote: > > Reaping is done using: > > allScores = Score.all() > for s in allScores: > etc > > I could store each entry with a unique key (user's id), but my > understanding is that supplying a key name does not improve things. I > don't know who is in the game a priori, so I don't know how to do a fully > consistent 'get' in batch mode..... > > > On Tuesday, July 31, 2012 12:21:03 PM UTC-4, D X wrote: >> >> How are you doing the reaps? Are you doing an eventually-consistent >> query, or fully-consistent get by keys? >> >> >> -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/V6cBwLsqQPUJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
