Python 在GAE中将urllib2.urlopen与Django一起使用时超时

Python 在GAE中将urllib2.urlopen与Django一起使用时超时,python,django,google-app-engine,urllib2,Python,Django,Google App Engine,Urllib2,当我运行此代码时 url = ('http://maps.google.com/maps/nav?'+ 'q=from%3A'+from_address+ '+to%3A'+to_address+ '&output=json&oe=utf8&key='+api_key) request = urllib2.Request(url) response = urllib2.urlopen(request) 在通过google app

当我运行此代码时

url = ('http://maps.google.com/maps/nav?'+
       'q=from%3A'+from_address+
       '+to%3A'+to_address+
       '&output=json&oe=utf8&key='+api_key)
request = urllib2.Request(url)
response = urllib2.urlopen(request)
在通过google app engine Helper for Django在google app engine中运行的Django中的一个简单视图中,我得到了一个
ApplicationError:2超时
异常,但是当我在python或Django的shell中运行相同的代码时,它工作得很好


知道发生了什么事吗?谢谢

这是因为appengine对这些调用的默认超时时间为5秒。如果使用UrlFetch[1],则可以使用DETAILD参数将超时设置为最长10秒。如果你试图获取的页面花费的时间比这还要长,那你就倒霉了


[1]

您可以通过使用谷歌异步获取服务来避免10秒的截止时间,该服务接受最长60秒的截止时间。