@springimport

Как реализовать очередь выполнения операций?

Имеется 2 проекта.
Первый - управление товарами и группами товаров (был вынесен из magento из-за сложности реализации).
Второй - ("витрина") интернет-магазин с magento.

Задача: синхронизировать товары и группы из проекта 1 в проект 2 как только товары (маджента не поддерживает в полной мере требуемый функционал групп товаров, приходится имитировать).

Алгоритм работы примерно такой (A - система управления товарами 1; B - magento):
Создание товаров и групп.
--- Выгрузка/обновление A => B.
Заказ в magento.
--- Обновление количества товаров B => A (быстрая операция).
--- Обновление количества товара в группах A => B (может быть долгой операцией).

Т.к. обновление товара в группах долгая операция, то чтобы клиент после нажатия кнопки заказа не ждал 5 минут синхронизации, возникла идея сделать таблицу заданий на синхронизацию.

Пока на уме только nodejs который бы мониторил таблицу sync. При нахождении записей запускал бы "sync.php".

Если ли другие варианты решения этой проблемы и нормальный ли вариант с nodejs?
  • Вопрос задан
  • 174 просмотра
Решения вопроса 2
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
www.yiiframework.com/extension/yii2-beanstalk - если не хотите тянуть с собой java для gearman или erlang для rabbitmq.

Все операции ставим в очередь, обрабатываем в воркерах в фоне.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы