Была проблемная функция «общий пересчёт» — она замедляла поиск и останавливала другие процессы. Исправить это на старой платформе было невозможно — требовалось менять подход с нуля.
Что сделали:
Разделили всех клиентов на три сервера по географическом положению: Центр, Урал и Сибирь.
Пересчёт теперь идёт по каждому кабинету отдельно, по расписанию и при изменениях.
Полностью переписали логику, структуру и формулы пересчётов.
Улучшили сжатие и передачу данных на следующий этап.
Ценовые правила и настройки по поставщикам перенесли в одно место — стало удобнее и понятнее.
Теперь можем отключать пересчёты для тех, кому они не нужны — экономим ресурсы.
Результат:
Обновление остатков от поставщиков стало происходить в 5 раз быстрее.
Поиск товаров работает без задержек.
Любые изменения ценовых правил или приоритетов отображаются мгновенно в личных кабинетах.