2012-07-30 64 views
1

我正在使用PHP來處理API,該API每10秒限制一次請求。它可以一次返回的最多結果是10.使用有限請求速率的API

這意味着要獲得1000個結果我需要撥打100個電話,如果一個接一個地完成一個接一個需要17分鐘左右,所以這樣做'在飛行中'並不是真的一個選項。

如果我需要從API獲得1000行,這將是最好的方式去解決它?

有沒有什麼辦法可以在後臺獲取API數據,以便當我需要信息時,它已經在我的數據庫中了?該API每四周更新一次,因此只需在該時間段內同步一次。

我雖然已經使用cron作業來做到這一點,但我不知道它將如何工作,考慮腳本需要運行多長時間。

+1

cron工作將是最好的。只要cron每10分鐘就能完成一項工作。工作的長度不應該成爲問題。 – sean 2012-07-30 13:54:09

回答

1

使用cron作業是將API中的值存儲在數據庫中的好方法。您需要爲API和本地數據庫使用更新的時間字段。檢查API的最後一次記錄更新的日期是否大於本地數據庫中最後一次記錄更新的日期。如果是,請獲取新數據。

如果你想對本地數據庫執行同樣的過程到服務器,你可以。這是同步項目流程並減少API請求的常用操作。