1

我运行了一个使用 db.put() 将大量数据加载到 GAE 的函数。但是,当我达到写入配额时,它引发了配额异常。当我通过运行应用程序重新检查数据时,返回的数据确实不完整。所以当配额再次可用时,我再次从某个索引运行数据加载器(所以我不会一次又一次地写入相同的数据)。

这是问题所在:在我手动(一次又一次地)运行数据加载器之后,似乎我需要让应用程序工作的所有数据都已经存在,尽管我第一次加载数据时出现了超过配额的异常。

所以,我的问题具体是:在 GAE 中超出配额的函数是否会排队等待配额再次可用或是否被终止?

项目背景:我和我的朋友正在构建一个搜索系统。我们需要搜索系统的数据库,因此我们将数据库加载到 GAE。

4

1 回答 1

0

如果您在向数据存储添加许多值时达到了写入配额,剩余的值将不会保存在任何地方,您将不得不重试。数据存储区管理员根据数据存储区统计信息显示实体数量,但这会延迟更新。虽然官方提到它最长为 24 小时,但它甚至可以比上一篇文章中提到的更多。因此,要查找最近上传的实体是否存在于数据存储中,我们不能依赖数据存储管理员,需要查询并查找您最近添加的特定实体是否存在。否则,您可以读取为每个 db.put() 返回的实体键值,并使用最后一个返回值来查看哪个是最后一个成功存储的实体。

于 2013-07-03T13:32:38.767 回答