0
我在我的網站上有一個ajax表單,它向這個php文件發送很多請求以獲取一些信息。如何在php中創建隊列來管理請求?
如何在這個php文件中創建一個隊列來處理每秒1個請求,而不是更多?
php文件:
<?php
function isJson ($str) {
json_decode($str);
return (json_last_error() == JSON_ERROR_NONE);
}
$service_url = 'https://example.com/api-local-json.php?cmd=whois&domain='.$_GET['domain'];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $service_url);
curl_setopt($curl, CURLOPT_TIMEOUT, 29);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_response = curl_exec($curl);
if(!$curl_response){
echo '{"result": "error"}';
}
curl_close($curl);
if (isJson($curl_response)) {
echo $curl_response;
} else {
echo '{"result": "error"}';
}
謝謝,使用sleep();是個好主意。但是當我在我的php腳本的第一行(和其他行)使用它時,它只是延遲第一個請求和所有其他請求一起處理,並使服務器再次加載。 –
在一個完整的請求之後使用它,比如你可以像循環一樣使用它,一開始它會在sleep()之後運行,然後從第二個請求開始它將會有sleep()。 – Niharikaa
好的,但在這種情況下,我想爲所有使用我的網頁與多個IP地址和......以避免服務器負載的隊列。我可能需要一個數據庫隊列或類似的東西。但我不知道該怎麼做。你有什麼想法的傢伙? –