2010-05-10 74 views
6

是否有任何方法(除了必须添加自定义代码)来检查我的应用程序是否超出了允许的YQL限制? (不知道每个应用程序的限制或每个IP限制适用于我的情况)我假设所有查询都会在达到限制后失败,但我希望主动添加措施以防止发生这种情况。检查是否已达到YQL限制?

我在应用程序中的关键部分使用YQL,并且由于每隔几秒发出一次查询,我怀疑我可能已接近极限。

+0

据我所知,目前还没有查询当前利率水平看,例如方式,如果你需要退缩一下。您的应用程序是否签署了请求(即您是否使用OAuth?);你在使用'/ v1/public/yql'还是'/ v1/yql' URL? – salathe 2010-05-12 12:33:54

+0

@salathe - 感谢您的回应。我是YQL的新手,并且我不确定我是否可以回答关于使用/ v1/public/yql的问题。我只是简单地在这里回答后的代码片段 - http://stackoverflow.com/questions/2119680/use-jquery-to-check-if-a-url-on-another-domain-is-404-or不,请让我知道你的想法。 – Nick 2010-05-12 15:18:03

回答

3

如果您超过10k次点击的小时限额,您将返回代码为999的错误 - 相应地编写代码以避免被阻止。

4

不幸的是,在其他情况下也会返回错误代码999,所以它不是达到小时10k限制的可靠指标。

从雅虎/ YQL响应示例:

HTTP/1.1 999 Unable to process request at this time -- error 999 
Date: Sun, 07 Nov 2010 13:46:10 GMT 
Expires: Thu, 01 Jan 1970 22:00:00 GMT 
Cache-Control: no-cache, private 
Cache-Control: no-store 
Pragma: no-cache 
Vary: Accept-Encoding 
Content-Type: text/html;charset=UTF-8 
Age: 0 
Transfer-Encoding: chunked 
Connection: keep-alive 
Server: YTS/1.17.21 

我认为这将是巨大的,如果YQL可以返回头字段与其余YQL要求每小时,像Twitter一样。

Twitter的API的HTTP响应头的相关部分:

HTTP/1.1 200 OK 
Date: Sun, 07 Nov 2010 13:52:18 GMT 
X-RateLimit-Limit: 150 
X-RateLimit-Remaining: 147 
X-RateLimit-Class: api 
X-Revision: DEV 
X-RateLimit-Reset: 1289141505