Export csv кусочного типа на основе обновлений данных реального времени
Еще один сложно технический проект который позволил 600к товаров выбирать и загружать в csv пользователям что нужно.
И так в чем основная проблема, конечно же когда пользователь выберет хотябы 1-2 категории по 100к товаров в каждый, мы делаем запрос что бы эти 100к товаров забрать, и все это зависает и умирает, на долго.
Задача была что-то придумать координатльное что позволит выгружать людям данные по товарам по ценам остаткам в общем прайс-листы в csv
Решение был написан 1 агент который формировал файлы частичные под каждую категорию со строгой разбивкой пол кол-ву штук.
При обновлении данных собирались онлайн изменения и обновляли только те файлы где обновились данные (сохраняли историю)
Когда пользователь запрашивал категории собирались куски склеивались и собирались в единый файл, с точными данными на этот момент
Это решение позволило пользователям получать экспорт хоть всех 600к товаров, хоть 100к менее чем за 10 секунд, не напрягаю базу данных системы Битрикс