1
deferred.defer(f,e)

function f(e):
  e.put_async()

への変更eは SDK で破棄され、おそらく本番環境でも破棄されます。この問題を解決する明白な方法の 1 つは、すべての 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 に答える