我正在开发一个应用程序,该应用程序让用户轮流将数据放入数据存储区,然后通过通道将 id 广播给用户。有时,当用户 get() 时,它会显示前一个用户的更改。我怎样才能防止这种情况?有没有办法让 put() 块直到它被写入?
问问题
55 次
2 回答
1
查看文档中的祖先查询。
https://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency
您现在看到的是最终一致的结果,尽管在这种情况下您需要高度一致的结果。
于 2013-05-03T05:55:58.693 回答
0
数据存储上的操作分两部分进行:提交阶段和应用阶段。
但简短的版本是数据存储操作在提交阶段之后返回,而不是在应用阶段之后。您可能已经告诉数据存储添加/更新/删除一个对象,但即使在特定操作返回后,该操作也需要几毫秒才能执行。
您可能需要在代码中添加人为延迟。
import time
time.sleep(1)
于 2013-05-03T08:00:00.927 回答