我正在尝试使用 google.appengine.ext.deferred 来运行任务。我正在将一个方法传递给 defer() 方法,并且该方法成功运行,但在返回时,会抛出 ValueError :
File ".../admin.py", line 73, in post
result = deferred.defer(meeple_tasks.buildGames())
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/deferred/deferred.py", line 198, in _curry_callable
raise ValueError("obj must be callable")
ValueError: obj must be callable
这是我调用 defer 的地方:
result = deferred.defer(meeple_tasks.buildGames())
buildGames() 完成后将返回 True。
最佳答案
你应该使用:
result = deferred.defer(meeple_tasks.buildGames)
如果您使用
buildGames()
,则会立即调用该函数,将返回值传递给 defer()
。通过删除括号,您将函数本身传递给 defer。关于python - 方法返回时 Google App Engine deferred.defer() 失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4924648/