1
deferred.defer(f,e)

function f(e):
  e.put_async()

更改e在 SDK 中被丢弃,并且可能在生产中也被丢弃。解决问题的一种明显方法是存储所有 rpc 并 get_result() 它们,但这并不漂亮。

有没有办法让这个函数与ndb兼容?

这个函数在代码的多个部分都用到了,正常的请求都是@ndb.toplevel,所以对他们来说是没有问题的。

4

1 回答 1

2

您延迟的函数不能是@ndb.toplevel,但您可以调用一个函数:

def f(e):
  g(e)

@ndb.toplevel
def g(e):
  e.put_async()
于 2012-12-20T19:09:21.213 回答