laravel5.4使用laravel-excel包导入数据,队列被killed
excel文件大小为:2.7M;
总行数:15000行
config(['excel.import.startRow' => 6 ]);
config(['excel.import.heading' => 'numeric' ]);
Excel::selectSheetsByIndex(0)->filter('chunk')->load($qlrFile)->chunk(1000,function($result) {
//qlr写入数据库 50行 空7行
$data=[];
$resultArr = $result->toArray();
foreach ($resultArr as $key=>$item){
if(!empty($item[7]) && is_numeric($item[7])){
$data[$key]['id'] = $key+1;
$data[$key]['arnr']=$item[0];
$data[$key]['buyer']=$item[1];
$data[$key]['customer_id']=$item[3];
$data[$key]['profil']=$item[5];
$data[$key]['customer_name']=$item[6];
$data[$key]['order_nr']=$item[7];
$data[$key]['line_id']=$item[8];
$data[$key]['cust_po_nr']=$item[9];
$data[$key]['cust_item_nr']=$item[10];
$data[$key]['qty']=$item[14];
$data[$key]['ngsp']=implode('',explode(',',number_format($item[15],2)));
$data[$key]['sales_person']=$item[16];
$data[$key]['order_type']=$item[18];
$data[$key]['wh_id']=$item[20];
$data[$key]['subline_status']=$item[22];
$data[$key]['created_at']=Carbon::now();
$data[$key]['updated_at']=Carbon::now();
}
}
$orderInfo = DB::table('orders_qlr')->insert($data);
});
队列:php artisan queue:work --queue=high,low --timeout=590 --memory=1024
phpinfo:memory_limit:128M
当导入8,9千条数据的时候队列就会被killed;
我有另一张也是15000行数据的excel,文件大小在1.7M;能够全部导入写入库中;
上面稍大些的文件就会被killed;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,是内存不足。