1

我执行以下操作:

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' - 但我不明白如何解决这个问题。

4

1 回答 1

8

请参阅https://developers.google.com/appengine/articles/deferred

延迟库的限制

  • 您不能在请求处理程序模块中调用方法。

通过 deferred.defer 调用的函数不能与调用 deferred.defer请求处理程序在同一个模块中。

于 2012-03-07T09:34:26.413 回答