laravel excel 不能完整导出数据
使用 Maatwebsite\Excel 导出数据,由于数据量比较大,现在有 2W 多条,以后会不断增长。直接导出会报内存溢出。按文档中使用队列方式导出,但是总是只执行一批后队列退出,无法继续导出。
LogExport 如下:
namespace App\Exports;
use App\Models\Log;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
class LogExport implements FromQuery
{
use Exportable;
public function query()
{
return Log::query();
}
}
控制器中调用:
public function export(Request $request)
{
(new LogExport)->queue('logs_'.time().'.xlsx')->allOnQueue('exports');
return back()->withSuccess('Export started!');
}
队列监听:
调用导出后能正常导出一部分数据,根据导出的数据判断,应该是只执行了第一次分片的 1000 条数据导出,然后队列就直接被终止了。求教各位大神,这玩意儿要怎么玩才行啊。excel.php 里面的配置 driver 设置成了 batch,memory_limit 设置成 6000000,依然还是这个问题。始终无法正常导出。
推荐文章: