Вы можете позаботиться об этом, выполнив следующие действия:
1.Возьмите файл CSV и временно сохраните его в хранилище:
Вы можете сохранить большой CSV при загрузке пользователем.Если это что-то, что не загружено из внешнего интерфейса, просто убедитесь, что оно сохранено для обработки на следующем шаге.
2.Затем отправьте задание , которое можно поставить в очередь:
Вы можете создать задание, которое может обрабатывать это асинхронно.Вы можете использовать Supervisor для управления очередями, тайм-аутами и т. Д.
3.Используйте пакет, например thephpleague :
Используя этот пакет (или аналогичный), вы можете разделять записи на части или читать по одной за раз.Это действительно очень полезно, чтобы ограничить использование памяти.Кроме того, он имеет различные варианты методов для чтения данных из файлов.
4.Как только файл обработан, вы можете удалить его из временного хранилища:
Просто некоторые действия по очистке.