代码之家  ›  专栏  ›  技术社区  ›  Greg

在异步URL获取回调中,您能做的事情有限制吗?

  •  0
  • Greg  · 技术社区  · 16 年前

    这是由回调函数中的数据存储访问引起的吗?回调函数有哪些限制?还有其他不能异步运行的API吗?

    ('The Wait() request was interrupted by an exception from another callback:', AssertionError('1',))
    Traceback (most recent call last):
      File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
        handler.post(*groups)
      File "/base/data/home/apps/smsmybus/15.344643308619037909/main.py", line 153, in post
        self.get()
      File "/base/data/home/apps/smsmybus/15.344643308619037909/main.py", line 182, in get
        bus.aggregateBusesAsynch(smsBody,self.request.get('SmsSid'),self.request.get('From'))
      File "/base/data/home/apps/smsmybus/15.344643308619037909/bus.py", line 296, in aggregateBusesAsynch
        rpc.wait()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 460, in wait
        self.__rpc.Wait()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 112, in Wait
        rpc_completed = self._WaitImpl()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/runtime/apiproxy.py", line 108, in _WaitImpl
        rpc_completed = _apphosting_runtime___python__apiproxy.Wait(self)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/runtime/apiproxy.py", line 171, in __MakeCallDone
        self.__Callback()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 161, in __Callback
        self.callback()
      File "/base/data/home/apps/smsmybus/15.344643308619037909/bus.py", line 265, in <lambda>
        return lambda: handle_result(rpc,stopID,routeID,sid,directionID)
      File "/base/data/home/apps/smsmybus/15.344643308619037909/bus.py", line 252, in handle_result
        stop.put()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 893, in put
        return datastore.Put(self._entity, rpc=rpc)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 291, in Put
        'datastore_v3', 'Put', req, datastore_pb.PutResponse(), rpc)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 194, in _MakeSyncCall
        rpc.wait()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 461, in wait
        assert self.__rpc.state == apiproxy_rpc.RPC.FINISHING, repr(self.state)
    InterruptedError: ('The Wait() request was interrupted by an exception from another callback:', AssertionError('1',))
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Greg    15 年前

    加上我自己的答案来结束这一切。。。

    之后 请求已完成。我没有正确使用等待呼叫。

    推荐文章