GAE数据存储区写操作dalay

时间:2015-02-26 10:37:21

标签: python google-app-engine google-cloud-datastore

我有一个维护呼叫列表的数据库。每周我都要导入一个excel文件或一个json对象,以确保调用数据列表与另一个具有不同格式的数据库同步(我必须对从xls获取的数据做一些解释)

无论如何,我做了一个完成所有导入的功能,但我注意到每次运行它都会得到不同的结果。

经过一些调查后,我注意到如果我按顺序执行大量put(),则在放置结束和数据存储中数据可用之间存在延迟,因此查询有时会返回不同的值。

我修复它添加延迟

time.sleep(1) 

但我认为应该有一种方法可以等到数据存储稳定而不是固定的时间。我试图找到它,但没有运气。

任何帮助?

1 个答案:

答案 0 :(得分:2)

这是一个经常重复的问题 - 尽管其他问题起初可能看起来不一样。

如果您正在使用数据存储区,则必须阅读"最终的一致性"

https://cloud.google.com/developers/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore/

在我看来,appengine和数据存储的文档可能应该以"如果你还没有读到最终的一致性,请立即这样做!"非常大的类型; - )