Size: a a a

2020 December 09

ДТ

Дмитрий Тремасов... in Laravel Pro
не это все да.
источник

OW

Os Well in Laravel Pro
Хм, в целом если смотреть в сторону json поля, то мне нужно только валидировать структуру сохранения
источник

ДТ

Дмитрий Тремасов... in Laravel Pro
но при большом количестве всего и вся и требовании какого нибудь фасетного поиска - все равно придется рядом прикручиваь какой нибудь сфинкс или эластик
источник

OW

Os Well in Laravel Pro
Дмитрий Тремасов
но при большом количестве всего и вся и требовании какого нибудь фасетного поиска - все равно придется рядом прикручиваь какой нибудь сфинкс или эластик
Поиск эластик и планировался
источник

ДТ

Дмитрий Тремасов... in Laravel Pro
как бы у EAV главный минус что при выводе тебе надо обходить кучу таблиц
источник

ДТ

Дмитрий Тремасов... in Laravel Pro
что бы сделать вывод товара. и меня это сильно напрягало
источник

ДТ

Дмитрий Тремасов... in Laravel Pro
но при этом плюсы конечно есть - динамическое добавление свойств и прочее
источник

OW

Os Well in Laravel Pro
Дмитрий Тремасов
но при этом плюсы конечно есть - динамическое добавление свойств и прочее
Производительность не является узким местом, если возникнет, то в кэш всё загоню, создаём сложности и герически их решаем.
Спасибо большое за консультацию
источник

А

Александр in Laravel Pro
Vitaliy Sheverov
https://laravel.com/docs/8.x/collections#method-concat обьденение двух массивов/коллекций/строк и тд
Ну, не подходит тем, что результирующий массив должен быть заполнен моделями Video
источник

Vr

Vitaliy rim89 in Laravel Pro
Привет, Laravel Excel норм по скорости обработки XLS ? Поставщик присылает прайс xls , его надо парсить и БД обновлять, размер файла - 25 мб.
источник

А

Антон in Laravel Pro
Vitaliy rim89
Привет, Laravel Excel норм по скорости обработки XLS ? Поставщик присылает прайс xls , его надо парсить и БД обновлять, размер файла - 25 мб.
источник

Vr

Vitaliy rim89 in Laravel Pro
ок, спс, знаю такой пакет
источник

M

Maxx in Laravel Pro
Vitaliy rim89
Привет, Laravel Excel норм по скорости обработки XLS ? Поставщик присылает прайс xls , его надо парсить и БД обновлять, размер файла - 25 мб.
phpoffice/phpspreadsheet может чанками читать большие файлы. через генераторы можно ещё сделать чтение по рядам — оч удобно и сервер не напрягает
источник

zN

zVlad Nesquik in Laravel Pro
Maxx
phpoffice/phpspreadsheet может чанками читать большие файлы. через генераторы можно ещё сделать чтение по рядам — оч удобно и сервер не напрягает
+1
источник

МИ

Макс Ильин in Laravel Pro
Салют!

Задавал уже этот вопрос, но так и не смог с ним разобраться.

Задача: после постановки job'a в очередь(queue) записать инфу о нем в БД.
Как это сделать хз. Прошу помощи.

В конструкторе джоба нет доступа к $this->job (он пустой), а метод handle()
срабатывает непосредственно при запуске задачи. Там this->job есть.

Ставлю job в очередь следующим образом:

 use Illuminate\Foundation\Bus\DispatchesJobs;

 $job = (new MyJob($data))
           ->onQueue('myqueue')
           ->delay(now()->addMinutes(1));

 $job_id = $this->dispatch($job);


Сразу после выполения этого кода в БД появляется запись в таблице job.

Мне нужно каким-то образом отследить этот момент. И получить информацию по джобу.

Мне посоветовали использовать события. У ларавеля есть т.н. Job Events.

Если в файле

 app/Providers/EventServiceProvider.php

в методе boot() вызвать следующий код, можно плучить доступ к job->payload

   Event::listen(JobProcessing::class, function ($event) {

       $payload = $event->job->payload();

       var_dump($payload);
   });

У лараверя есть следующие события для работы с очередями

JobProcessing
JobProcessed
JobFailed
JobExceptionOccurred
Looping
WorkerStopping

Проблема заключается в том, что нет события "постановки job'a в очередь (queue)".

Буду благодарен если натолкнете на мысль.. Уже запарился придумывать костыли :)
источник

AS

Anton S in Laravel Pro
побуду телепатом и предложу вам рассмотреть https://github.com/imTigger/laravel-job-status
источник

AS

Anton S in Laravel Pro
если сам по себе он вам не понравится - то почерпнете для себя алгоритм
источник

AS

Anton S in Laravel Pro
источник

АВ

Алексей Веснин... in Laravel Pro
Макс Ильин
Салют!

Задавал уже этот вопрос, но так и не смог с ним разобраться.

Задача: после постановки job'a в очередь(queue) записать инфу о нем в БД.
Как это сделать хз. Прошу помощи.

В конструкторе джоба нет доступа к $this->job (он пустой), а метод handle()
срабатывает непосредственно при запуске задачи. Там this->job есть.

Ставлю job в очередь следующим образом:

 use Illuminate\Foundation\Bus\DispatchesJobs;

 $job = (new MyJob($data))
           ->onQueue('myqueue')
           ->delay(now()->addMinutes(1));

 $job_id = $this->dispatch($job);


Сразу после выполения этого кода в БД появляется запись в таблице job.

Мне нужно каким-то образом отследить этот момент. И получить информацию по джобу.

Мне посоветовали использовать события. У ларавеля есть т.н. Job Events.

Если в файле

 app/Providers/EventServiceProvider.php

в методе boot() вызвать следующий код, можно плучить доступ к job->payload

   Event::listen(JobProcessing::class, function ($event) {

       $payload = $event->job->payload();

       var_dump($payload);
   });

У лараверя есть следующие события для работы с очередями

JobProcessing
JobProcessed
JobFailed
JobExceptionOccurred
Looping
WorkerStopping

Проблема заключается в том, что нет события "постановки job'a в очередь (queue)".

Буду благодарен если натолкнете на мысль.. Уже запарился придумывать костыли :)
"Мне нужно каким-то образом отследить этот момент. " так если есть $job_id, то событие уже поставленно в очередь, нет? обычный слушатель сделать не проще?
источник

МИ

Макс Ильин in Laravel Pro
Алексей Веснин
"Мне нужно каким-то образом отследить этот момент. " так если есть $job_id, то событие уже поставленно в очередь, нет? обычный слушатель сделать не проще?
Да джоб может быть поставлен в очередь. Но он также может быть уже и выполнен или выполнен с ошибкой.

Мне нужно отследить 4 момента:
-постановка,
-начало выполнения,
-успешное выполнение,
-ошибка
источник