Google App Engine 文档指出“为了方便起见,您可以使用 @ndb.toplevel 来装饰请求处理程序。”
@ndb.toplevel可以与非请求的python方法一起使用吗 处理程序?
我有一个调用ndb.put_multi_async()的python方法mymethod(),并且mymethod()在单元测试中被调用。我想在继续之前调用 mymethod() 来完成 put_multi_async() 。为了达到这种效果,我可以用 @ndb.toplevel 装饰 mymethod() 吗?这样做似乎可以确保 put_multi_async() 在 mymethod() 返回之前完成,但我想仔细检查是否没有任何意外的副作用。
最佳答案
是的,整个 tasklet
模块 source ,来自 toplevel
,必须进行研究以确认(据我所知,除了模块自己的文档字符串之外,它没有在其他地方记录),但这样做后我看不到任何副作用出现使用 toplevel
来修饰不是处理程序的方法。
关于python - ndb.toplevel 用于 python 方法与请求处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32236779/