Эффективная вставка больших объемов данных (250 тыс. записей) в Laravel без превышения ограничения времени PHP? (ОчередьPhp

Кемеровские программисты php общаются здесь
Гость
Эффективная вставка больших объемов данных (250 тыс. записей) в Laravel без превышения ограничения времени PHP? (Очередь

Сообщение Гость »


Я столкнулся с ошибкой времени выполнения PHP при вставке примерно 250 тысяч записей в базу данных MySQL с помощью Laravel Eloquent. Я стремлюсь добиться этого без увеличения общего времени выполнения, учитывая следующие ограничения:
[*]Внешний интерфейс: Angular [*]Мультиарендность: реализовано с помощью https://tenancyforlaravel.com/ [*]Попытки решения: очередь Laravel
Ниже мой код.

Код файла задания -

Класс MedicineData реализует MustQueue { используйте Dispatchable, InteractsWithQueue, Queueable, SerializesModels, Batchable; общедоступные $данные; публичная функция __construct($data) { $this->данные = $данные; } публичная функция handle(): void { foreach ($this->data as $key => $value) { $medicine = новое MedicineName(); $medicine->name = $value['name']; $медицина->сохранить(); } } } Код файла контроллера

$chunks = array_chunk($data, 500); $batch = Bus::batch([])->dispatch(); foreach ($куски как $key => $value) { $batch->add(new MedicineData($value)); } Я получаю сообщение об ошибке «Максимальное время выполнения PHP». Как это решить.

Вернуться в «Php»