【问题标题】:GAE Datastore write operations dalayGAE 数据存储写入操作日期
【发布时间】:2015-02-26 10:37:21
【问题描述】:

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

无论如何,我创建了一个函数来执行所有导入,但我注意到每次运行它都会得到不同的结果。

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

我修复了它,增加了延迟

time.sleep(1) 

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

有什么帮助吗?

【问题讨论】:

  • 请出示您的代码

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


【解决方案1】:

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

如果您使用的是数据存储,则必须阅读“最终一致性”

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

在我看来,appengine 和数据存储的文档可能会以“如果您还没有阅读有关最终一致性的信息,请立即阅读!”作为开头。在非常大的类型中;-)

【讨论】:

  • ...并且,tl;dr,在完成所有puts 和在你查询回来检查之前。还要考虑(为了速度)multi_put_async 并在所述同步强制之前等待所有期货。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-13
相关资源
最近更新 更多