2017-04-09 52 views
1

我使用Amazon API產品,該產品每秒有一個請求的限制與相同的IP地址。 我可以定義每個請求在1秒距離內完成的php curl嗎? (全球)Php,1每秒捲曲

+0

這是一個命令行應用程序或網絡服務器的?有多個工人/流程嗎? –

回答

1

你應該使用sleep(1);功能在循環

+0

!我必須在全球範圍內設置它。 如果我有10人次,來電不應重疊,因爲亞馬遜觀看IP – BOES

+2

不,不!使用緩存或數據庫保存最後的請求時間來檢查 –

+0

!這不是微不足道的,我們應該管理隊列和睡眠。當然有一個設置? – BOES

0

使延遲如果你需要一個全球性的解決方案,你可以使用隊列(如Redis的等等)。處理訪問者的腳本只是向該隊列發送請求。其他服務每秒讀取一次該隊列併發送一個cURL請求。

以同樣的方式,你可以使用一個數據庫作爲隊列:一個服務把記錄到數據庫和其它的下一個記錄讀取DB每秒一次,並進行卷曲請求。

0

將用戶的所有請求保存在隊列中。你可以使用db(mysql等)或內存緩存(redis)。然後處理由一個該請求的一個以1秒的延遲