@Bags

Как сохранять большое количество продуктов в wordpress?

Задача: нужно получить через Апи стороннего сервиса около 15000 продуктов, импортировать их, периодически сверять информацию (кол-во доступных товаров и т.п) и собственно обновлять.
Для этого использую плагин woocommerce, пытаюсь сохранять через woocommerce rest api. Конкретно метод $wc->post(‘products/batch’, $data).
Проблема заключается в том, что на сохранение одного продукта (поля, категории, одна картинка ~300кб) тратится большое количество времени ~3 секунд.
Если в массив $data запихать больше ~20 товаров , то скрипт вообще отваливается с ‘syntax error’ (больше никакой информации нет) time-out выставлен на максимум.
P.s: хоть выполнение скрипта прерывается, но продукты все же по-тихонько сохраняются после этого (не понимаю как, объясните)
Как вообще сохранять данные в базу wp? В ручную запросы писать что ли?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Я бы запилил через CLI, сам скрипт может быть и на PHP, или как расширение для WP-CLI. Им брал бы по одной записи из АПИ, записывал в WP/WC через REST API и писал подробности в лог. Отдельно написал бы простой аггрегатор / просмотрщик лога, чтобы удобно было смотреть результаты. А дальше запустил бы это все и ушел спать. В дальнейшем другой CLI-скрипт на кроне, который бы сверял данные между сторонним АПИ и WP/WC и синхронизировал данные с помощью первого скрипта.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы