我正在尝试使用异步URL提取界面。但是当在生产环境中使用回调时,我得到一个AssertionError。
这是由回调函数中的数据存储访问引起的吗?回调函数有什么限制?是否有其他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',))
答案 0 :(得分:0)
添加我自己的答案只是为了关闭它...
尼克是对的。我尝试在 请求完成后执行回调 。我没有正确使用等待电话。