Frage

Mit twitter heute ist unten Ich habe darüber nachgedacht, wie man am besten zu handhaben Anrufe an eine API, wenn es unten ist. Wenn ich ROTATION bin mit ihrem api zu nennen, wie verursache ich das Skript schnell zum Scheitern verurteilt und die Fehler zu behandeln, um nicht um die Anwendung zu verlangsamen?

War es hilfreich?

Lösung

Vielleicht eine Art Cache verwenden, ob oder nicht twittern nach oben oder unten ist. Melden Sie ungültige Antworten von der api in einer Datenbank oder serverseitigen Datei. Sobald Sie zwei / drei / eine andere Menge ungültiger Antworten in einer Reihe bekommen, deaktivieren Sie alle Anforderungen an den api für x Höhe der Zeit.

Nach dem x Höhe der Zeit, versucht, eine Anfrage, ob es noch unten ist, wieder für x Minuten abzuschalten.

Wenn Ihr Server laufen kann Cron Jobs betrachten, ein Skript zu machen, dass die API für eine gültige Antwort überprüft alle paar Minuten. Wenn es herausfindet, ist es nach unten, deaktivieren Sie Anfragen, bis er wieder oben ist. Zumindest in diesem Fall würde der Server die Prüfung tun und die Nutzer nicht die Meerschweinchen sein müssen.

Andere Tipps

Verwenden Sie curl_setopt

curl_setopt($yourCurlHandle, CURLOPT_CONNECTTIMEOUT, '1'); // 1 second

Wenn Sie curl> = 7.16.2 und PHP> = 5.2.3 gibt es CURLOPT_CONNECTTIMEOUT_MS

Verwenden Sie curl_getinfo die cURL-Response-Code zu erhalten oder Inhaltslänge und Prüfung gegen diese.

$HttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top