由於twitter今天關閉,我正在考慮如何在API停止時處理對API的調用。如果我使用CURL來調用他們的api,我該如何導致腳本快速失敗並處理錯誤,以免減慢應用程序的速度?如何優雅地處理崩潰的API
0
A
回答
2
也許使用某種緩存來確定twitter是否啓動或關閉。在數據庫或服務器端文件中記錄來自api的無效響應。一旦你連續得到兩個/三個/一些其他數量的無效響應,在x時間內禁用對api的所有請求。
經過x次的時間後,嘗試請求,如果它仍然關閉,請再次禁用x分鐘。
如果您的服務器可以運行CRON作業,請考慮製作一個腳本,每隔幾分鐘檢查一次有效響應的api。如果發現它已關閉,請禁用請求直至其恢復。至少在這種情況下,服務器將進行測試,用戶不必是豚鼠。
2
curl_setopt($yourCurlHandle, CURLOPT_CONNECTTIMEOUT, '1'); // 1 second
如果使用捲曲> = 7.16.2和PHP> = 5.2.3有CURLOPT_CONNECTTIMEOUT_MS
2
使用curl_getinfo獲得捲曲響應代碼或內容長度和檢查這些。
$HttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
相關問題
- 1. 如何優雅地處理DefaultControlFactory的CreateController
- 2. Python - 如何優雅地處理TypeError?
- 3. 如何優雅地處理ViewState錯誤?
- 4. 如何優雅地處理Jackson InvalidFormatException?
- 5. 如何優雅地處理maxRequestLength異常?
- 6. 如何優雅地處理零例外?
- 7. 優雅地處理socket.close()
- 8. 崩潰內核優雅
- 9. 如何優雅地處理異常在Sinatra API
- 10. ASP.NET:如何使用web.config設置優雅地崩潰?
- 11. IE11崩潰,我如何優雅地找到它是否掛起?
- 12. 優雅地處理AsyncTask中的IOException?
- 13. 如何處理硒崩潰
- 14. angular $ http優雅地處理錯誤
- 15. 優雅地處理「MySQL已經消失」
- 16. Go - 優雅地處理多個錯誤?
- 17. 優雅地處理TypeMirror和Class
- 18. Segfault的優雅處理
- 19. 通過GAE通道API優雅地處理封閉通道
- 20. 如何優雅地處理java中的FileNotFoundexception
- 21. 如何優雅地處理Rails翻譯的雙面關係?
- 22. 如何優雅地處理禁用JavaScript時的AJAX PartialView更新
- 23. 如何優雅地處理python包中的全局配置
- 24. 我應該如何優雅地處理錯誤的AppDomains?
- 25. 如何在AJAX中優雅地處理設計的401狀態?
- 26. 如何優雅地從的WebAPI消息處理程序
- 27. PHP:如何優雅地管理錯誤?
- 28. 優雅地崩潰ios cordova應用程序
- 29. Google Vision API:處理本機崩潰
- 30. 在瀏覽器崩潰後優雅地清理數據庫和後端
唯一的問題是,它不能分辨慢速連接和關閉api之間的區別。 – 2009-06-16 22:22:55
如果超時,它會返回true嗎? – Tim 2009-06-16 22:23:16