为了账号安全,请及时绑定邮箱和手机立即绑定

laravel5.4使用laravel-excel包导入数据,队列被killed

laravel5.4使用laravel-excel包导入数据,队列被killed

PHP
Smart猫小萌 2019-03-08 07:05:25
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;
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

是的,是内存不足。

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 1172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信