$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; } } //循环结束执行业务逻辑
Benutzer lädt das Formular hoch –>PHP-Hintergrund analysiert das Formular –>Anfragen, wie viele Datensätze die externe Schnittstellentabelle im Schleifenkörper hat, durch die for-Schleife und Schleife wie oft –>Wenn alle for-Schleifen ausgeführt werden Wenn die Tabelle mehr als 500 Daten enthält, ist die Ausführungszeit der gesamten for-Schleife zu lang, was zu einer Zeitüberschreitung des Servers führt. Wie kann diese Situation gelöst werden? Die Schnittstelle kann bis zu 5 Datenanpassungen gleichzeitig empfangen
Das Obige ist ein Beispiel meines Codes. Bitte fragen Sie dies. Wie kann das Problem gelöst werden? Wenn die Anforderungszeit geändert wird, ist die Benutzererfahrung nicht gut und die Wartezeit zu lang