2010-05-10 75 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