GAE

2015-10-15 37 views
0

不可能获取多于1200个项目我试图从GAE中的查询中获取多于1200条记录,但这种方法失败,只是不断加载。我可以,因为它一直这样做GET请求,谷歌调试看到,但我从来没有看到任何结果GAE

这完美的作品: 在deactivation_list.fetch LCR(1200,偏移量= 0,=的batch_size 1000):

这使加载: 在deactivation_list.fetch LCR(1201,偏移= 0,=的batch_size 1000):

试图增加BATCHSIZE,没有帮助。我正在使用NDB模型

+0

看到了分页正确的方式offcial帮助。使用抵消是非常不利的,你可能会超时。 –

+0

偏移量是0?必须有一个原因,它总是正确返回1200条记录,然后继续加载?不喜欢超时? – JDel

+0

为真。忽略我以前的评论。告诉我们每个实体有多大。也尝试获得1200偏移量= 1来测试会发生什么 –

回答

1

我发现的唯一解决方案是使用游标,如前面的注释中所建议的。原因是Google Remote API有1mb的限制,使用可以多次查询的游标。

recordQuery = model.query()

record, cursor, more = recordQuery.fetch_page(1000) 
while more: 
    record, cursor, more = recordQuery.fetch_page(1000, start_cursor=cursor)