Size: a a a

2021 September 26

А

Антон in Laravel Pro
Лучше 2 разных.
источник

IF

Ikromov Faridun in Laravel Pro
понятно спасибо))
источник

LY

Lyonya Yakovlev in Laravel Pro
Добрый день! Не удаётся найти информацию, как правильно загружать 'большие' объёмы данных на сайт.
Допустим, есть 1С, есть база товаров.
Насколько корректно загружать товары из 1С на сайт через json по API сайта (то есть по HTTP запросу)?
Объём данных ~10мб (json'а), но это наверняка не предел, то есть нужно сделать решение, которое подразумевает загрузку еще более больших объёмов информации.

Может нужно сохранять в файл, и отправлять это через файл, или все-таки как параметры POST запроса, или..?

Надеюсь, есть человек который с этим сталкивался/знающий, который предложит решение этого вопроса
источник

M

Mars in Laravel Pro
Gzip на стороне сервера отдающего json
источник

M

Mars in Laravel Pro
И если идёт речь об обновлении, то передавать только обновлённое, а не все
источник

ВШ

Виталий Шутов... in Laravel Pro
Можно через csv-формат
источник

ВШ

Виталий Шутов... in Laravel Pro
Ну и у 1С есть свой метод синхронизации товаров со складом
источник

YV

Yushkevich Vitaly in Laravel Pro
Большие Json плохо. Во-первых для сети. Во-вторых «все или ничего» и запаришься дебажить.

Есть более «правильный» способ, есть более «простой».

Более правильный - подрубить кафку и научить 1с писать туда независимыми событиями. В асинх консьюмиш все и обрабатываешь.
Для ряда оптимизаций можно дать батчи.

Получается очень быстро и эффективно
источник

YV

Yushkevich Vitaly in Laravel Pro
Более простой способ - это «у нас нет денег на ресурсы, давайте вставлять костыли и страдать». Ну и тут уже как сказали - смотришь, что больше дохнет - процессор или сеть. Отсюда либо включаешь ити выключаешь сжатие.
Ну и дальше страдаешь. Есть шанс попытаться обработку утащить в асинхрон, но тебе надо 1с на весь пакет сказать «ок / не ок». А тут будет некоторая проблемка. Поэтому отсюда возникает много архитектурных костылей и все становится ещё больнее
источник

OA

Oleg Abramov in Laravel Pro
Самый эффективный способ это xml + бэк процесс. Так как сказал товарищ выше json требует целостности всего пакета. А бэк процесс позволит обрабатывать это не используя ресурсы web server процесса, и кусками считывая данные.
источник

YV

Yushkevich Vitaly in Laravel Pro
Есть ряд вариантов, как сделать боль меньше, но тут как бы… ты в любом случае будешь страдать и придумывать как обойти Геморой, который возникает.
источник

YV

Yushkevich Vitaly in Laravel Pro
Насчёт «самый эффективный способ - xml» - спорно
источник

OA

Oleg Abramov in Laravel Pro
Согласен. Но это быстро и дасть возможность читать кусками данные не загружая здоровенный кусок в память
источник

YV

Yushkevich Vitaly in Laravel Pro
Ну тогда уж лучше csv.
источник

И

Игорь in Laravel Pro
Мы делали по soap - сервису,  это предложил 1 c-ник. Синхронизировали остатки основного сайта и 1 c. Это не много другое, но идея одна. Может это тебе поможет. Через файлики - это костыль, прошлый век. Но я бы сделал как ты в вопросе написал
источник

LY

Lyonya Yakovlev in Laravel Pro
Благодарю за ответы.
Можно чуть подробнее, насчёт более правильного способа - подключить кафку и т.д.? Есть ссылка на какой-то такой пример, ну или хотя бы какая-то инфа насчет этого?
источник

IF

Ikromov Faridun in Laravel Pro
у меня в корзине есть ивент, когда у меня в корзине больше 1 товара и я нажимаю на оформить, добавляется только 1 товар,  когда ивент убираю все товары добавляются, как сделать чтобы и с ивентом все товары добавились
источник

OA

Oleg Abramov in Laravel Pro
Не лучше. Csv могут быть проблемы с разделителями
источник

OA

Oleg Abramov in Laravel Pro
Soap это прошлый век. Это мегонеудобная штука и ещё и геморная
источник

LY

Lyonya Yakovlev in Laravel Pro
Можно алгоритм действий? Выгружать на стороне 1С в XML, а далее? хотя бы вкратце
источник