我正在开发一个应用程序,让用户轮流将数据放入数据存储区,然后将数据通过频道广播给用户。有时,当用户获得()时,它将显示先前用户的更改。我怎么能阻止这个?有没有办法让put()阻塞直到它被写入?
答案 0 :(得分:1)
查看文档中的祖先查询。
https://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency
您现在看到的结果始终是一致的,尽管在这种情况下您需要非常一致的结果。
答案 1 :(得分:0)
数据存储上的操作分为两部分:提交阶段和应用阶段。
了解更多相关信息但是短版本是数据存储区操作在提交阶段之后返回,而不是在应用阶段之后。您可能已经告诉数据存储区添加/更新/删除对象,但即使在特定的操作系统返回后,该操作也需要几毫秒才能执行。
您可能需要在代码中添加人为延迟。
import time
time.sleep(1)