我运行了一个使用db.put()将大量数据加载到GAE的函数。但是,当我达到写入配额时,它会超过配额异常。当我通过运行应用程序重新检查数据时,返回的数据确实不完整。因此,当配额再次可用时,我再次从某个索引运行数据加载器(因此我不会一次又一次地写入相同的数据)。
问题出现了:在我手动(一次又一次)运行数据加载器后,似乎应用程序工作所需的所有数据都已存在,尽管我第一次加载数据的时候已超过配额异常。
所以,我的问题具体是:在GAE中运行超过配额的功能是否排队,直到配额再次可用或是否被终止?
项目背景:我和我的朋友正在建立一个搜索系统。我们需要搜索系统的数据库,因此我们将数据库加载到GAE。
答案 0 :(得分:0)
如果在向数据存储区添加许多值时达到写入配额,则其余值将不会保存在任何位置,您将不得不再次尝试。 数据存储区管理员显示基于数据存储区统计信息的实体数量,但这会延迟更新。虽然官方提到最多24小时,但它可能更像this previous post中提到的那样。因此,为了查找数据存储区中是否存在最近上传的实体,我们不能依赖数据存储区管理员,并且需要查询并查找最近添加的特定实体是否存在。或者,您可以读取为每个db.put()返回的实体键值,并使用上一个返回的值来查看哪个是最后一个成功存储的实体。