Главная → Портфолио → WEB-разработка → Web-программирование → Разработка быстрого импорта цен на сайт для 500.000 записей

Разработка быстрого импорта цен на сайт для 500.000 записей

Разработка системы сверхбыстрого обновления цен для интернет-магазина производителя мебели с широким ассортиментом (более 500.000 вариаций)
Опубликовано: Февраль 2026
Мебель от производителя уникальной разработки
Нужен похожий проект?
Разработка быстрого импорта цен на сайт для 500.000 записей

1Цели и задачи

В условиях высокой волатильности цен на сырье и комплектующие, компания была вынуждена часто и оперативно обновлять розничные цены на сотни тысяч товарных позиций на сайте. Стандартный механизм импорта в системе управления сайтом (CMS) с этой задачей не справлялся: процесс обновления цен по файлу с 300-500 тысячами строк занимал неприемлемо много времени (до нескольких часов), блокируя другие процессы и фактически выводя сайт из актуального состояния на целый день. Заказчику требовалось высокопроизводительное решение, которое бы обновляло только цены, делало это максимально быстро, в фоновом режиме и с полным контролем над процессом.

2Проблема и аналитика

Главная проблема штатного импорта - его универсальность. Он заточен на обработку любых данных о товаре (описания, фото, свойства), что создаёт огромную нагрузку на систему. Нам же требовался точечный и быстрый «укол» - изменить одно единственное поле (цену) у сотен тысяч записей. Ключевыми задачами стали:

  • Обеспечение высокой скорости за счёт оптимизированных запросов к базе данных и итеративной обработки файла.

  • Гарантия отказоустойчивости: процесс не должен был «падать» из-за одной ошибочной строки в файле.

  • Предоставление прозрачного контроля: администратору необходимо видеть, что происходит, в реальном времени и иметь возможность управлять процессом.

Что мы сделали:

Спроектировали и внедрили высокоскоростной механизм импорта.

  • Разработанный скрипт читает исходный CSV-файл (ID товарного предложения, Новая цена) не целиком, а итерационно, блоками по 10 000 строк. Это позволяет не перегружать оперативную память сервера.

  • Для каждой строки скрипт выполняет точечный запрос к базе данных: находит товарное предложение по ID и обновляет только его поле «Розничная цена». Все остальные данные товара остаются нетронутыми.

  • Обработка ошибок «на лету»: если в строке файла обнаружена ошибка (пустое значение, некорректный ID, нечисловые символы в цене), эта строка пропускается, записывается в лог, а процесс немедленно переходит к следующей. Это гарантирует завершение обработки всего файла.

Создали профессиональный модуль управления в административной панели сайта.

Вместо запуска по «секретной ссылке» мы разработали полноценный интерфейс в админке сайта. Администратор загружает CSV-файл через привычный интерфейс и в один клик запускает импорт.

import-zamm1.png


import-zamm2.png

Импорт выполняется в фоновом режиме (в виде cron-задачи), не нагружая интерфейс и не мешая работе других сотрудников.

В модуле в реальном времени (с обновлением раз в минуту) отображается подробная статистика: количество обработанных и ошибочных строк, оставшееся время, прогресс-бар.

import-zamm3.png

Реализована система полноценного логгирования. Все события (старт, ошибки, завершение) записываются не в файл, а в специальную таблицу базы данных, что надёжнее и удобнее для анализа. Лог доступен прямо в интерфейсе модуля с возможностью фильтрации (только ошибки, только успешные операции, поиск по ID товара) и сортировки.

import-zamm4.png

Обеспечили полный контроль над процессом

В интерфейсе модуля предусмотрена кнопка «Остановить импорт». Её нажатие безопасно прерывает фоновую задачу. Это критически важная функция на случай обнаружения ошибки в файле или необходимости срочной остановки.

import-zamm5.png

После завершения импорта система формирует итоговый отчёт с точным временем начала, окончания и общей длительности операции.

3Результаты внедрения

Мы реализовали профессиональный инструмент, который кардинально изменил процесс ценового мониторинга и сделал сайт гибким инструментом в условиях меняющегося рынка.

  • Скорость обновления повысилась в десятки раз. Задача, которая раньше занимала часы, теперь выполняется за минуты. Сайт практически мгновенно отражает новые ценовые политики.

  • Процесс стал безопасным и управляемым. Риск «положить» сайт долгим импортом устранён. Администратор имеет полный контроль: видит прогресс, анализирует ошибки в файле и может в любой момент остановить операцию.

  • Оперативность бизнеса вышла на новый уровень. Маркетологи и коммерческий отдел могут проводить гибкие ценовые эксперименты и мгновенно применять изменения на сайте, реагируя на действия конкурентов или изменения себестоимости.

  • Повышена эффективность работы сотрудников. Администраторы избавились от рутины ожидания и ручного разбора ошибок. Весь процесс централизован, прозрачен и требует минимального вмешательства.

Разработанный модуль не просто решил задачу быстрого обновления цен - он создал для компании стратегическое конкурентное преимущество в виде скорости и точности управления ключевым коммерческим параметром - ценой.



Нужен похожий проект?

Расскажите о задаче — покажем близкие по смыслу работы и предложим решение со сроками и бюджетом.

Обсудить проект

Похожие проекты

Автоматизация загрузки товарного каталога от поставщиков