注意: 它在生产中工作。我的意思是,当我上传应用程序时,它的工作效果很好。问题出在开发服务器上。
以下是一些可以向您展示我正在尝试做的代码:
e = Employee(key_name = 'some_key_name',name='John Bonham')
db.put_async(e)
如果我这样做,过了一段时间我就试着去了它
e = Employee.get_by_key_name('some_key_name') # e is None
它不起作用。 e是没有!但是,如果我这样做:
e = Employee(key_name = 'some_key_name',name='John Bonham')
op = db.put_async(e)
op.get_result()
工作正常。
我缺少什么?
重要提示:我等待一段时间检查对象是否已创建!调用put_async后我没有得到。但是,即使一分钟后它仍然无效。我在开发服务器中!
答案 0 :(得分:14)
如果您未在RPC上调用.wait()
或.get_result()
,则无法保证已完成。对于dev_appserver
,它不是多线程的,实际工作是在调用这些方法时完成的 - 它实际上并不是在开发中异步,只是在生产中。