使用cURL处理数千个api请求

时间:2020-08-10 10:37:33

标签: api curl php-curl

我的api调用数组中有大约2k的数据,并且我正在使用curl_multi_exec来执行此操作。现在,max_execution_time总是可以命中500次,并且尽可能不使用set_time_limit?我还尝试通过一次传递100-300个数据来对数组进行分块,因为我认为请求将被分割,每个都有时间限制。

是否有更好的方法来处理我的请求?我已经读过关于将sleep()放入循环中的信息,尽管我不确定这是否是一种好方法。谢谢您的帮助。

我将此代码作为参考(this

$multiCurl = array();
$result = array();

$mh = curl_multi_init();
foreach ($ids as $i => $id) {
   $fetchURL = 'https://webkul.com&customerId='.$id;
   $multiCurl[$i] = curl_init();
   curl_setopt($multiCurl[$i], CURLOPT_URL,$fetchURL);
   curl_setopt($multiCurl[$i], CURLOPT_HEADER,0);
   curl_setopt($multiCurl[$i], CURLOPT_RETURNTRANSFER,1);
   curl_multi_add_handle($mh, $multiCurl[$i]);
}
$index=null;
do {
   curl_multi_exec($mh,$index);
} while($index > 0);

foreach($multiCurl as $k => $ch) {
  $result[$k] = curl_multi_getcontent($ch);
 curl_multi_remove_handle($mh, $ch);
}

curl_multi_close($mh);

0 个答案:

没有答案