1

我在 GAE 1.7.4 上使用 urlfetch API....我尝试通过以下方式获取:

result=urlfetch(http://localdomain:8080/static/tabconfig.json)  

我已经通过 app.yaml 中的处理程序打开了我的静态目录,并通过浏览器下载了这个 json 文件。

但是当我尝试在 GAE 中执行 urlfetch 时,它给了我一个“超出期限错误”。GAE 是否限制从具有相同域的 url 获取?

谢谢!

4

2 回答 2

2

正如 tesdal 在评论中已经说过的那样,开发服务器是单线程的。这意味着它一次只能处理一个请求。因此,如果您向脚本发起请求,并且该脚本 urlfetches 在您自己的服务器上获取页面,那么您基本上处于死锁状态,因为您的原始请求正在等待您的 urlfetch 返回,而您的 urlfetched 请求正在等待,因为服务器正在处理您的原始请求。

App Engine 团队还在开发一个实验性的线程化新开发服务器,请观看此视频http://www.youtube.com/watch?v=_rEDCQtj4fo

如果 tesdal 发布他的评论作为答案,他是第一个发布此评论的人。

于 2013-02-09T08:45:10.257 回答
0

您可以设置请求的最后期限,即服务等待响应的最长时间。默认情况下,获取的最后期限是 5 秒。HTTP 请求的最长期限为 60 秒,任务队列和 cron 作业请求的最长期限为 60 秒。

result = urlfetch( url=http://localdomain:8080/static/tabconfig.json, deadline=60 )
于 2014-09-24T20:30:21.520 回答