php curl多次,使用curl_multi多次将php卷曲到相同的api

我有一个API,我用不同的信息同时调用至少10次。

这是我当前使用的功能。

$mh = curl_multi_init();

$arr = array();

$rows = array();

while ($row = mysqli_fetch_array($query)) {

array_push($arr, initiate_curl($row, $mh));

array_push($rows, $row);

}

$running = null;

for(;;){

curl_multi_exec($mh, $running);

if(!$running){

break;

}

curl_multi_select($mh);

usleep(1);

}

sleep(1);

foreach($arr as $curl) {curl_multi_remove_handle($mh, $curl);}

curl_multi_close($mh);

foreach($arr as $key=>$curl) {

$result = curl_multi_getcontent($curl);

$dat = simplexml_load_string($result);

check_time($dat, $rows[$key], $fp);

}

当请求的数量很小时,它可以很好地工作,但是当它增长时,一些卷将不会返回适当的数据。也就是说,它们返回空值,我猜是因为服务器在发生任何事情之前就通过了。

我该怎么做才能使这个工作成功?我在PHP或服务器方面没有经验,并且很难浏览文档。

如果我创建另一个PHP文件,在该文件中我卷曲到API来处理数据,并多次卷曲该PHP文件,它会更好地工作吗?(因为在这种情况下,一些调用不返回数据就没有那么重要了。)这会经常使我的服务器过载吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值