php 大量curl请求问题

一个大数组

$data =array(array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
             array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
              .....//很多数据
)

foreach($data as $v){

//每一个$v  通过curl发送给接口  接收返回值 记录表中

}

问题是

接口是 节点类型的 (a -z) 26了主机不一定那个好使
http://[a-z]l.baidu.com/vipgetartpaiming.php

一共有26 curl 的请求地址
我循环去curl 这26个地址,如果有返回则break 跳出循环 处理下一条数据

我认为很有可能在26次中没有一次成功,那么我这条数据就没有被接口处理,

我现在想有没有更好的方法使得这些数据··都被接口处理过

我应该怎样去处理这个流程····才能保证全部数据都被接口处理过

阅读 6.4k
1 个回答

假如接口是幂等的,循环用curl_multi_*系列函数并发请求接口,有返回就continue,都没返回就再请求一次。
这种方法只是减少一个数据请求26个接口时的耗时,其实仍旧很愚蠢。
如果接口不是幂等,那就只能一个一个来了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题