2010-05-10 7 views
6

Gibt es eine Möglichkeit (außer das Hinzufügen von benutzerdefiniertem Code), um zu überprüfen, ob meine Anwendung die zulässigen YQL-Grenzwerte überschritten hat? (Ich bin mir nicht sicher, ob pro Anwendungslimit oder pro IP-Grenze in meinem Fall gilt) Ich nehme an, dass alle Abfragen fehlschlagen würden, nachdem das Limit erreicht wurde, aber ich möchte proaktiv Maßnahmen hinzufügen, um dies zu verhindern.Prüfen, ob YQL-Grenzwerte erreicht wurden.

Ich verwende YQL in einem kritischen Stück in der Anwendung und da eine Abfrage alle paar Sekunden ausgegeben wird, vermute ich, dass ich das Limit erreichen könnte.

+0

Soweit mir bekannt ist, gibt es derzeit keine Möglichkeit für die aktuellen Kursniveaus abgefragt werden zum Beispiel zu sehen, , wenn Sie etwas zurückstecken müssen. Signiert Ihre Anwendung die Anforderungen (d. H. Verwenden Sie OAuth?); Verwenden Sie die URL '/ v1/public/yql' oder'/v1/yql'? – salathe

+0

@salathe - Danke für die Antwort. Ich bin neu in YQL und bin mir nicht wirklich sicher, ob ich die Frage beantworten kann, ob ich/v1/public/yql verwende oder nicht. Ich befolge einfach das Code-Snippet im beantworteten Post hier - http://stackoverflow.com/questions/2119680/use-jquery-to-check-if-a-url-on-an-other-domain-is-404-or -nicht lass mich deine Gedanken wissen. – Nick

Antwort

3

Wenn Sie die stündliche Toleranz von 10k Hits überschreiten, erhalten Sie einen Fehler mit dem Code 999 - schreiben Sie Ihren Code entsprechend, um nicht blockiert zu werden.

4

Leider wird der Fehlercode 999 auch in anderen Situationen zurückgegeben, so ist es kein zuverlässiger Indikator für das Erreichen der stündlichen 10k Grenze.

Beispiel für die Antwort von Yahoo/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 

ich denke, es wäre toll, wenn YQL ein Kopffeld mit dem restlichen YQL fordert pro Stunde zurückkehren kann, wie Twitter funktioniert.

Relevante Teile des HTTP-Response-Header der Twitter-API:

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