I haven't understand what you can do with __scatter__ property. As MapReduce docs says, "*We do not allow retrieving this value directly (it's stripped from the entity before it's returned to the application by the Datastore)*"...
Also, I haven't understood what's wrong with using tasks and cursors. A task can simply iterate the data, fetching N entities at time (in this case 1000), than launch a task that can update them (by itself or splitting again the work). At most, if 10 minutes aren't so much to iterate over all data, this "main" task can fetch only a piece of data, start update task, than start itself on the next chunk of data... Obviously if is possible to split the work using only key's informations (for example, keys are number from 1 to 400.000) this works better, because fetching data by key is always a better than querying for the same data... 2014-03-05 13:18 GMT+01:00 Wolfram Gürlich <[email protected]>: > Instead of iterating over all keys at once you could also use the hidden > __scatter__ property to determine proper split points for your key range > in advance. That is what the mapreduce library does. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/google-appengine. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
