2011-08-17 84 views
0

我編寫了一個腳本,它使用cURL提取當前最佳Twitter趨勢,並且它在本地100%的時間工作,但是當我將它FTP到我的中介服務器時,它似乎只有時候工作。這是由Twitter引起的? MEDIATEMPLE?我的代碼中有一些錯誤?Twitter API在本地工作,但在遠程服務器上很不穩定

編輯:我如何緩存平面文件中的內容?

+0

失敗時出現什麼錯誤? – joet3ch

+0

也許你正在從遠程服務器達到速率限制? – zigdon

+0

@ joet3ch,沒有錯誤,只是沒有返回。 – 585connor

回答

1

如果代碼工作有時這意味着它不符合你的代碼中的問題,所以有潛在的怪兩個邏輯方面:

1)Web服務器負載

這可能是您的服務器陷入困境。如果服務器(不僅僅是您的網站 - 考慮這個如果您在共享主機上)正在經歷沉重的負載,那麼可能需要您的服務器太長以完成捲曲請求。打擊這種嘗試和使用增加請求超時時間如下:

CURLOPT_CONNECTTIMEOUT 

2)Twitter的速率Limmit

Twitter限制API呼叫的數目可以從每小時授權帳戶做(我相信這個數字大概是100ish--檢查他們的API文檔)如果你達到這個限制,你將被拒絕進一步的電話,直到第一次電話的1小時週年。爲了解決這個問題,要麼cron作業以設定的時間間隔運行curl,並將結果緩存在文本文件或數據庫中,要麼存儲每個請求的時間並使用IF僅允許每2或3分鐘發出一個請求,結果並從緩存中提取結果。

每次頁面加載時對Twitter API進行調用會浪費資源,帶寬並可能減少頁面加載時間。

相關問題