Size: a a a

2020 May 06

DT

Dmitry T in Laravel Pro
А почему она будет прерываться?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
вот у тебя джоба обрабатывает чанки
источник

EK

Evgeniy Kuvshinov in Laravel Pro
как только есть задача у задачи есть uuid
источник

EK

Evgeniy Kuvshinov in Laravel Pro
вот пусть она его и использует
и результат обработки чанка привязывает к этому uuid
источник

EK

Evgeniy Kuvshinov in Laravel Pro
и по окончанию обработки у тебя результаты обработки привязанные к uuid
источник

EK

Evgeniy Kuvshinov in Laravel Pro
а вероятности коллизии uuid довольно мала
источник

DT

Dmitry T in Laravel Pro
Это во временную таблицу складывать а потом сгруппировать  по уникальному ключу и записать джоин апдейтом?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
ну и джобами я бы обрабатывал файл до конца (чанками естественно) не прерываясь пока файл не обработал
источник

EK

Evgeniy Kuvshinov in Laravel Pro
Dmitry T
Это во временную таблицу складывать а потом сгруппировать  по уникальному ключу и записать джоин апдейтом?
куда это складывается вопрос десятый
источник

EK

Evgeniy Kuvshinov in Laravel Pro
зависит от того что надо в конце
источник

EK

Evgeniy Kuvshinov in Laravel Pro
это может быть как временная таблица, так и постоянная таблица или сразу результирущая структура или nosql
источник

DT

Dmitry T in Laravel Pro
В конце надо данные без дублей:)
А чем варианты 1 и 2 хуже? Ну кроме очевидных:
В первой можно выбрать перезаписывать при коллизии или нет, плюс некрасивый код который пишется под конкретную базу
Во втором - ловить эксепшены о юнике и после этого не пытаться/пытаться записать данные
источник

DT

Dmitry T in Laravel Pro
Хотя вижу один плюс - сгруппировать можно будет по условию
источник

DT

Dmitry T in Laravel Pro
А быстрее ли этот вариант чем первые два?
источник

DT

Dmitry T in Laravel Pro
пожалуй узнать навернякка можно только попробовав...
источник

DT

Dmitry T in Laravel Pro
В любом случае спасибо за инфу
Попробую и так сделать и замерить скорость
источник

EK

Evgeniy Kuvshinov in Laravel Pro
Dmitry T
В конце надо данные без дублей:)
А чем варианты 1 и 2 хуже? Ну кроме очевидных:
В первой можно выбрать перезаписывать при коллизии или нет, плюс некрасивый код который пишется под конкретную базу
Во втором - ловить эксепшены о юнике и после этого не пытаться/пытаться записать данные
так ты знаешь какая структура должна быть в конце ?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
ты можешь записывать результаты в конечную структуру ?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
например файл может импорт товаров в бд
структура бд известна бери товары да меняй цены
источник

DT

Dmitry T in Laravel Pro
да, должен быть юник по двум полям external_id, code
источник