twitterが今日ダウンしているので、APIがダウンしているときの呼び出しを最適に処理する方法を考えていました。 CURLを使用してAPIを呼び出す場合、スクリプトをすばやく失敗させ、アプリケーションを遅くしないようにエラーを処理するにはどうすればよいですか?落ちたAPIを正常に処理する方法
0
A
答えて
2
おそらく、Twitterがアップまたはダウンしているかどうかにかかわらず、キャッシュの種類を使用します。データベースまたはサーバー側のファイルでapiからの無効な応答を記録します。行の中に2/3 /何らかの他の無効な応答が得られたら、x時間だけapiへのすべてのリクエストを無効にします。
x時間が経過すると、依然としてダウンしている場合はリクエストを再試行し、もう一度x分間は無効にします。
サーバーでCRONジョブを実行できる場合は、数分おきに有効な応答を確認するスクリプトを作成することを検討してください。停止していることがわかったら、バックアップが完了するまでリクエストを無効にします。少なくともこの場合、サーバーはテストを行い、ユーザーはモルモットである必要はありません。
2
curl_setopt($yourCurlHandle, CURLOPT_CONNECTTIMEOUT, '1'); // 1 second
あなたはカール> = 7.16.2およびPHPを使用する場合> = 5.2.3 CURLOPT_CONNECTTIMEOUT_MS
2
使用curl_getinfoはcURLのレスポンスコードやコンテンツの長さを取得することがあり、それらをチェックしてください。
$HttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
+0
私は実際に返されたコードと、サイトステータスをチェックするためのクロールジョブを実行するもう1つの答え。 – Tim
関連する問題
- 1. セッションタイムアウトを正常に処理する方法は何ですか?
- 2. 引数リストの後に欠落を処理する方法
- 3. APIデータを処理する方法
- 4. REST-API + Web-Interfaceでフォーム処理を処理する方法
- 5. REST API:処理ロジックを処理する方法
- 6. 従属テーブルの欠落行を処理する方法
- 7. Ajaxコールのログイン有効期限を正常に処理する方法は?
- 8. ControllerContviceで処理されないSpringセキュリティで例外を正常に処理する方法は?
- 9. Nginxは常に間違ったサーバーブロックに落ちます
- 10. デフォルトのメッセージを無効にする方法:「あなたのリクエストは正常に処理されましたか?
- 11. Javaアノテーション処理 - すでに処理されたコードを処理する方法?
- 12. バネバッチ、失敗したファイルを再度処理する、スキップが正常に処理された
- 13. Fluentd BufferedOutput write(chunk)処理イベントを正確に1回処理する方法
- 14. 0をリードする値が落ちる、修正する方法は?
- 15. Pythonループ:マッピングマッチングリストを処理するための正確な方法
- 16. 空のボディを正常に処理するためのフレームワークを再生する
- 17. Facebook APIを処理する方法 - グラフApi
- 18. 別のポートから落ち着いたapiを消費する
- 19. Swift:解析クエリの待ち時間を処理する方法
- 20. 正常にデータベース例外を処理する
- 21. AspectJでJavaのエラーを正常に処理する
- 22. PerlクリティカルなDBD :: ODBCエラーを正常に処理する
- 23. 落ちる砂粒子物理
- 24. ASP.NETで正常にハンドルするURIを正しく処理する
- 25. アーカイブを解凍する方法「アーカイブは正常に処理されました」出力
- 26. 正規表現で落ちるもの
- 27. Smack API、メッセージ処理後にChatBoxを更新する方法
- 28. Rest APIユーザー認証を安全に処理する方法は?
- 29. ドッカーAPI/images/createの処理方法は?
- 30. ビルドAPIバージョン> minSdkVersionの処理方法
唯一の問題は、低速接続と低下したAPIの違いを伝えることができないことです。 –
タイムアウトした場合はtrueを返しますか? – Tim
致命的に遅い接続は、ダウンしたAPIと同じくらい悪いです。たぶん3+秒はより寛大なタイムアウトです。 – Kekoa