Как: Фоновая обработка вызовов API для продуктов WooCommerce - PullRequest
1 голос
/ 28 апреля 2019

У меня интернет-магазин с 7000 товаров.Каждую ночь я выполняю cronjob в своей ERP-системе, помещая всю информацию о продукте в мой магазин WooCommerce через их Restful API.

Это прекрасно работает ... Однако я ищу способы улучшить производительность этой задачи.

На данный момент я изменил свои индивидуальные запросы API обновления на пакетный вызов.Таким образом, я ограничиваю свои запросы с 7000 до примерно 1400 - я могу пакетировать около 50 продуктов, не сталкиваясь с тайм-аутами шлюза и другими серверными ограничениями.

Однако, улучшая это, я задаюсь вопросом, есть ли какой-нибудь умный способпланирование этих задач обновления в фоновую очередь / процесс.Я хорошо знаком с этим в Laravel, но мне интересно, существует ли что-нибудь в Wordpress / WooCommerce, которое бы на самом деле поддерживало это из коробки.

Что я на самом деле имею в виду;вместо выполнения задачи обновления пакета при вызове API, API должен просто запланировать задачу и отправить ответ клиенту, сообщив, что задача была успешно добавлена.Таким образом, ERP-системе не нужно ждать, пока WooCommerce завершит весь пакет.Если я заставлю ERP-систему делать асинхронные вызовы, то это приведет к перегрузке WooCommerce и не будет выгодно.

Если нет, то какой на самом деле лучший подход для достижения этой цели?Я подумываю о создании базы данных заданий / очередей, содержащей мою полезную нагрузку, и после отправки всех данных обновления в нее, а затем создания другой конечной точки, которая сообщает моему магазину WooCommerce начать работу по списку.

Пожалуйста, дайте мне знать, если есть какой-то отличный способ добиться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...