我做了以下事情:
from google.appengine.ext import deferred
def send_message(client_id, message):
logging.info("sending message...")
class MyHandler(webapp.RequestHandler):
def get(self, field_name):
...
scUpdate = {
'val': value,
'name': field_name_converted
}
message = simplejson.dumps(scUpdate)
deferred.defer(send_message, client_id, message, _countdown=random.randrange(0, 5, 1))
得到
PermanentTaskFailure: 'module' object has no attribute 'send_message'
这里有什么问题吗?
更新。看起来问题与那里描述的相同 - PermanentTaskFailure: 'module' object has no attribute 'Migrate' - 但我不明白如何解决这个问题。
请您参考如下方法:
参见 https://developers.google.com/appengine/articles/deferred :
延迟库的局限性
- 您不能调用请求处理程序模块中的方法。
通过 deferred.defer 调用的函数不能在同一个 模块,例如调用 deferred.defer 的请求处理程序。
