def work(self): query = datastore.Query(self.kind) if self.startKey: query['__key__ >'] = db.Key(self.startKey) items = query.Get(self.ITEMS_TO_FETCH) if not items: logging.info('Finished migrating %s' % self.kind) return last_key = items[-1].key() [self.processItem(x) for x in items] taskqueue.addTask( url=self.worker_url % self.kind, params=dict(start=last_key), queueName=taskqueue.BACKGROUND_QUEUE) logging.info('Added another task to queue for %s starting at %s' % (self.kind, last_key))
def migrate(request): modelsToMigrate = ["evolve_species"] [taskqueue.addTask(url=Worker.worker_url % i, queueName=taskqueue.BACKGROUND_QUEUE) for i in modelsToMigrate] return HttpResponse("created all tasks for processing")