Синхронизация базы на access с сайтом на 1С Битрикс

Проект опубликован
18
октября
2015
Категории проекта:
В настоящее время синхронизация успешно работает на сайте microset.ru и поддерживает актуальность данных на сайте. Цены и наличие актуализируются каждые 5 минут (причем занимает это не больше 2 секунд), а категории, товары и фильтры обновляются в ночной период с 01:00 по 06:00 во время минимальной нагрузки на сайт (выполняется около 30-70 секунд, в зависимости от размера прайса).
В компании "Микросет" уже давно и успешно работало внутреннее приложение на MS Access, где велись все заказы, карточки товаров, свойства, фильтры и многое другое. Кроме того для уже существовавшего самописного сайта с БД MySql существовал автоматический импорт данных. 
В рамках обновления сайта и перехода на CMS 1С-Битрикс необходимо было сделать новый скрипт синхронизации данных. В результате особенностей универсальной системы возникли проблемы со скоростью исполнения скрипта импорта данных, которые были успешно решены путем замены API функций Битрикса на прямые SQL-запросы к БД. Результатом работы стали 4 скрипта: 
  • Управляющий скрипт запускается по расписанию (cron) каждые 5 минут, проверяет наличие файла с данными, выбирает и передает эстафету следующему скрипту, при наличии файла - разархиирует его и добавляет данные во вспомогательную таблицу БД, удаляет файл 
  • Скрипт частичного обновления данных при наличии новых даных во вспомогательной таблицы обновляет всем товарам на сайте активность, статусы наличия и цены 
  • Скрипт обновления структуры выполняется при наличии новых даных во вспомогательной таблице и только во временном промежутке между 1:00 и 5:00 (время минимальной нагрузки на сайт). Создает и обновляет типы инфоблоков, инфоблоки, свойства инфоблоков и значения свойств типа "список". После выполнения передает эстафету скрипта полного обновления данных 
  • Скрипт полного обновления данных Обновляет и добавляет товары на сайт вместе со всем набором свойств и ценой. Все результаты работы охраняются в специальную таблицу и доступны для просмотра (время исполнения, количество обновленных и добавленных записей, наличие ошибок).
В настоящее время синхронизация успешно работает на сайте microset.ru и поддерживает актуальность данных на сайте. Цены и наличие актуализируются каждые 5 минут (причем занимает это не больше 2 секунд), а категории, товары и фильтры обновляются в ночной период с 01:00 по 06:00 во время минимальной нагрузки на сайт (выполняется около 30-70 секунд, в зависимости от размера прайса).
Похожие проекты