我使用Python
中的google cloud datastore
对一些py.test
PyCharm
代码进行单元测试。代码在datastore emulator
本地运行。问题是
time.sleep(num_secs)
,put_multi()
等代码之后放置多个put()
,并在调试模式下运行代码,逐行检查结果以便{ {1}}不会失败,因为即使代码正确运行,使用assert
从emulator
返回的结果也不会反映query.fetch()
中的更改。我意识到datastore
和Python
之间可能会出现竞争状况。因此,使变更有效(大?)延迟?datastore simulator
,我也遇到了emulator
。然后我必须打开HTTP Error 404: Service Unavailable
虚拟机,因此代码可以再次运行,甚至之后关闭虚拟机。这很奇怪。请注意,当Compute Engine
已与App Engine
。我想知道在project_id
中调试和测试datastore
代码的最佳方法是什么。
答案 0 :(得分:2)
对于#1,数据存储模拟器会加剧eventual consistency对某一部分操作的影响。来自gcloud beta emulators datastore start:
--consistency
=CONSISTENCY
;默认=" 0.9"Fraction of datastore operations that should succeed.