【发布时间】:2015-07-15 16:02:37
【问题描述】:
我的某些数据似乎存在一致性问题;我正在编写一个单元测试以查看某个模型是否已放置在数据存储中。除非我在存储函数返回之前休眠 5 秒,否则它在单元测试中失败。
我一直在阅读有关 gae 中的异步函数的内容,我想也许我需要一些类似于 Promise 的东西,以便函数在返回之前等待,直到数据被放入数据存储区。然而,所有关于 GAE 中函数异步版本的文档似乎都暗示它的非异步函数已经以这种方式表现得像 Promise。
像 put() 这样的函数返回是什么意思?这似乎并不意味着数据已被适当地存储。有没有办法等到数据存储完毕?
编辑:我的问题不仅仅是处理一致性问题,而是我不确定问题是否是一致性问题,而是想具体询问 put() 调用的返回与什么相关发生在 GAE 的幕后。
我认为这个问题与列出的问题相似,但仍然有用,因为它从不同的角度处理一致性问题。如果其他人需要查找此信息,但不能像我一样完全确定措辞,或者遵循与我类似的思路,他们也许可以通过这个问题获得信息。它也写得更明确,领域特定的术语更少。
话虽如此,我确实看到了最终目标信息内容方面的问题;我会理解如果它被删除。
【问题讨论】:
-
您能否展示您的测试以及设置测试平台等
-
您使用哪种语言? Java SDK 有helpers 用于单元测试。
标签: google-app-engine asynchronous google-cloud-datastore