Hi, Using tasks to iterate over a big amount data is the way to go:
a) a first task or interactive request splits the amount of data in chunks defined for example by key range or by range of another property of the object. b) then it launches a task per range (i.e the range is a param of the task) to do what has to be done on each object. Each task has 10 min to complete. If it gets near the limit of 10 min, it launches a new task to contnue the job with the initial range minus what has already been done. This until end of range. What very interesting with tasks is the parallelismn, if your parametrize queue.xml accordingly, you will see many jvms launched by GAE to accommodate in terms of CPU power the parallelism you want to reach (I have sometimes 12 - 15 jvms in my own case for such cases). So, instead of lasting hours, your job can be run in minutes. Important point: the ranges have to be defined in relation with entity groups (if you have any), else you may have heavy datastore contention issues. regards didier On Jan 21, 7:14 pm, "ss.require" <ss.requ...@gmail.com> wrote: > I also have a similar task. > Please, could you clarify in more details how to use Task Queue API > and datastore cursors? it is also good that task execution's limit is > 10 minute now. > > On 21 Січ, 20:03, mge...@gmail.com wrote: > > > For sure Mapper API is a really good choice. Another option would be using > > Task Queue API and datastore cursors. Both options will solve your problem. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.