У меня интернет-магазин с 7000 товаров.Каждую ночь я выполняю cronjob в своей ERP-системе, помещая всю информацию о продукте в мой магазин WooCommerce через их Restful API.
Это прекрасно работает ... Однако я ищу способы улучшить производительность этой задачи.
На данный момент я изменил свои индивидуальные запросы API обновления на пакетный вызов.Таким образом, я ограничиваю свои запросы с 7000 до примерно 1400 - я могу пакетировать около 50 продуктов, не сталкиваясь с тайм-аутами шлюза и другими серверными ограничениями.
Однако, улучшая это, я задаюсь вопросом, есть ли какой-нибудь умный способпланирование этих задач обновления в фоновую очередь / процесс.Я хорошо знаком с этим в Laravel, но мне интересно, существует ли что-нибудь в Wordpress / WooCommerce, которое бы на самом деле поддерживало это из коробки.
Что я на самом деле имею в виду;вместо выполнения задачи обновления пакета при вызове API, API должен просто запланировать задачу и отправить ответ клиенту, сообщив, что задача была успешно добавлена.Таким образом, ERP-системе не нужно ждать, пока WooCommerce завершит весь пакет.Если я заставлю ERP-систему делать асинхронные вызовы, то это приведет к перегрузке WooCommerce и не будет выгодно.
Если нет, то какой на самом деле лучший подход для достижения этой цели?Я подумываю о создании базы данных заданий / очередей, содержащей мою полезную нагрузку, и после отправки всех данных обновления в нее, а затем создания другой конечной точки, которая сообщает моему магазину WooCommerce начать работу по списку.
Пожалуйста, дайте мне знать, если есть какой-то отличный способ добиться этого.