假设我的数据存储区中有一个善良的Dog实体。我想对所有狗进行简单的操作,但我有很多狗。
all_dogs = Dog.all(keys_only=True)
print dogs.count(100000) #returns 79234, or some equally large number
如果我这样做:
for dog_key in all_dogs:
k = dog_key
我理解的与以下相同:
for dog_key in all_dogs.run(batch_size=20):
k = dog_key
然后我会得到一个像这样的数据存储超时异常:
Timeout: The datastore operation timed out, or the data was temporarily unavailable.
如果我将batch_size增加到1000,那么我就没有问题了。
导致操作计时器启动的原因以及超时需要多长时间?我怎样才能确保我没有超时?
在这种情况下,增加batch_size会有所帮助,但是如果我拥有数百万个Dog实体呢?如何确保在对它们执行操作时不会出现超时?
答案 0 :(得分:3)
如果你有很多狗,你想要处理所有实体:
如果你想自己编程: