php 太长,PHP脚本执行时间过长被中断

详细描述:

前端上传Excel表格->PHP读取表格获取表格最大行号->for循环解析表格中的数据->在for循环体内组装参数请求外部api接口->所有请求成功后执行后续代码

现在的问题是昨天有个用户上传的表格有1000多条数据 现在for循环体就会请求1000多次接口 导致执行时间过长 for循环被中途中断 下面是代码示例 请问这种情况该怎么解决?

$file =input('post.avatar');

if(!$file){

$this->error('请上传需要导入的表格!支持csv,xls,xlsx格式!');

}

$filePath = ROOT_PATH . DS . 'public' . DS . $file;

if (!is_file($filePath)) {

$this->error('上传的表格不存在,请核实');

}

$PHPReader = new \PHPExcel_Reader_Excel2007();

if (!$PHPReader->canRead($filePath)) {

$PHPReader = new \PHPExcel_Reader_Excel5();

if (!$PHPReader->canRead($filePath)) {

$PHPReader = new \PHPExcel_Reader_CSV();

$PHPReader->setInputEncoding('GBK');

if (!$PHPReader->canRead($filePath)) {

$this->error(__('Unknown data format'));

}

}

}

for($i=2;$i<=$allRow;$i++){

switch ($express_id) {

case 1:

//接口请求参数

$post_info = [

];

//请求接口

$json = sendRequest('',$post_info,'POST');

$return = json_decode($json,1);

$code = $return['code'];

if($code==0){

$return_data = $return['data'];

$taskid = $return_data['recordId'];

//处理成功时的业务逻辑

$result = [];

$result[$i] = [

];

//更新用户信息

$yu_money = $yu_money-$total_fee;

\app\common\model\User::score($score=0,'-'.$total_fee,$uid,',编号'.$retu[$i]['id']);

$continue_num = $continue_num+1;

}else{

$this->error($return['msg']);

}

break;

default:

# code...

break;

}

}

//循环结束执行业务逻辑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值