Импортируйте данные 1M, используя laravel-excel и очередь.Php

Кемеровские программисты php общаются здесь
Ответить
Гость
 Импортируйте данные 1M, используя laravel-excel и очередь.

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


Заранее благодарим за помощь.


Изображение


Я использую laravel версии 7 и пакет laravel-excel для импорта файла CSV с большими данными. проблема, с которой я столкнулся, заключается в том, что телескоп laravel показывает, что задание не выполнено, но я вижу в базе данных, что транзакция БД продолжается, когда задание показывает, что задание не выполнено. и когда я вручную нахожусь в очереди php artisan: работа на сервере и отправляю данные задания, импорт происходит быстро, но когда я запускаю супервизор, задание выполняется в это время, оно выполняется медленно. пожалуйста, проверьте приведенный ниже код и скажите мне, если я что-то ошибся.

Вот код моего контроллера

публичная функция importStore(Request $request) { пытаться { $file = $request->file('файл'); $filename = date('Ymd-His') . '-' . рэнд(1111, 9999) . '.' . $file->getClientOriginalExtension(); $path = $file->storeAs('importData', $filename); // Отправляем задание $job = новый MemberImportJob($path); диспетчеризация($job)->onConnection('redis')->onQueue('default'); вернуть ответ()->json([ 'успех' => правда, 'message' => 'Файл в очереди, фоновое задание запущено', ]); } catch (\Exception $e) { вернуть ответ()->json([ 'успех' => ложь, 'message' => $e->getMessage(), ]); } } вот мой код файла импорта

Ответить

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

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

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

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

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