Эффективная вставка больших объемов данных (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». Как это решить.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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