我在GAE 1.7.4上使用urlfetch API ....我尝试通过以下方式获取:
result=urlfetch(http://localdomain:8080/static/tabconfig.json)
我已经通过app.yaml中的处理程序打开了我的静态目录,并通过浏览器下载了这个json文件。
但是当我尝试在GAE中进行urlfetch时,它会给我一个“截止日期超出错误”。 GAE是否限制具有相同域的URL的提取?
谢谢!
答案 0 :(得分:2)
正如tesdal在评论中已经说过,开发服务器是单线程的。这意味着它一次只能处理一个请求。因此,如果您向脚本发起请求,并且该脚本会在您自己的服务器上设置页面,那么您基本上处于死锁状态,因为您的原始请求正在等待您的urlfetch返回,而您的urlfetched请求正在等待,因为服务器正在处理您的原始请求。
App Engine团队还在开发一个有线程的实验性新开发服务器,请查看此视频http://www.youtube.com/watch?v=_rEDCQtj4fo
如果tesdal发表评论作为答案,他是第一个发表评论的人。
答案 1 :(得分:0)
您可以为请求设置截止日期,即服务等待响应的最长时间。默认情况下,获取的截止时间为5秒。 HTTP请求的最长期限为60秒,任务队列和cron作业请求的最长期限为60秒。
result = urlfetch( url=http://localdomain:8080/static/tabconfig.json, deadline=60 )