Ошибка памяти при импорте огромного файла Excel с использованием Laravel-Excel - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Laravel Excel 3.1 для импорта огромного файла Excel с примерно 800 000 записей. Импорт продолжается хорошо, но исчерпал память. МОЕ ДЕЛО: Я использую shouldQueue, chunkReading 1000 и BatchInserts 1000 вместе, но с каждой последующей очередью, использование памяти продолжает расти, пока весь сервер не выключится У меня 64-ядерный сервер с 40 ГБ оперативной памяти Если я перезапускаю очередь каждую минуту, память, кажется, контролируется. Существует ли корректный обходной путь, чтобы каждая очередь выпускала файл после его завершения? Возможно, связано с этим https://github.com/Maatwebsite/Laravel-Excel/issues/1391, хотя это обходной путь для laravel excel V2.

1 Ответ

0 голосов
/ 18 апреля 2019

Это может быть проблема с памятью, но у вас достаточно 40 ГБ памяти. Вы можете попробовать параллельный процесс, используя многопоточность, используя pthread из PHP или других языков, таких как Python. Я добавляю ссылку на вопрос, это может быть полезно для вас.

Импорт больших файлов CSV в MySQL с использованием Laravel

...