使用GAE urlfetch时,有没有人遇到以下异常的经验?
DownloadError: ApplicationError: 2 timed out
我正在尝试发送HTTP POST请求.像这样:
result = urlfetch.fetch('http://api.nathan.com:8080/Obj/', method='POST', payload=postdata, deadline=10)
我已经尝试将截止日期设置为最大值(10秒).来自命令行的请求(使用curl或httplib2)大约需要一秒钟.
nchong@almond ~ $ time curl -d "1n " http://api.nathan.com:8080/Obj/ agd1c2VyYXBpcgoLEgRTZXNzGAIM #< key returned by call real 0m1.109s user 0m0.003s sys 0m0.009s
这是来自dev appserver的curl请求的输出(我正在使用appengine-rest-server):
INFO __init__.py:819] adding models from module __main__ INFO __init__.py:867] added model Obj with typeINFO dev_appserver.py:3243] "POST /Obj HTTP/1.1" 200 - INFO dev_appserver_index.py:205] Updating /path/to/index.yaml
这是我尝试使用urlfetch时的输出:
ERROR __init__.py:388] ApplicationError: 2 timed out Traceback (most recent call last): File "/path/to/webapp/__init__.py", line 507, in __call__ handler.get(*groups) File "/path/to/myapp/main.py", line 62, in get result = urlfetch.fetch(...) File "/path/to/urlfetch.py", line 241, in fetch return rpc.get_result() File "/path/to/apiproxy_stub_map.py", line 501, in get_result return self.__get_result_hook(self) File "/path/to/urlfetch.py", line 325, in _get_fetch_result raise DownloadError(str(err)) DownloadError: ApplicationError: 2 timed out INFO dev_appserver.py:3243] "GET / HTTP/1.1" 500 - INFO dev_appserver.py:3243] "POST /Obj/ HTTP/1.1" 200 -
Adam Crossla.. 12
开发Web服务器是单线程的.您无法从在其中运行的应用程序向其自身发出请求.尝试在不同的端口上运行两个实例.
顺便说一下,一旦部署它就不应该成为问题,因为实际的AppEngine服务器当然能够处理多个同时发出的请求.
开发Web服务器是单线程的.您无法从在其中运行的应用程序向其自身发出请求.尝试在不同的端口上运行两个实例.
顺便说一下,一旦部署它就不应该成为问题,因为实际的AppEngine服务器当然能够处理多个同时发出的请求.