cryptodoxer
@cryptodoxer

Как быстро вставить более 100к записей в Woocommerce?

Привет. Делаю импорт товаров с разных источников. Сейчас товаров около 130к. Импорт на отличном железе по api woocommerce занимает более 3х суток. Это очень долго, так как данные обновляются раз в 6 часов.

Есть ли библиотека или готовые примеры, для создания товаров через mysql, минуя api?!

https://pastebin.com/CLg4i1bh пример кода что сейчас вставляет записи.
  • Вопрос задан
  • 747 просмотров
Пригласить эксперта
Ответы на вопрос 2
@just_hank_moody
Готовых библиотек скорее всего нет. Ибо все используют REST интерфейс или официальные вызовы WooCommerce.

Как вариант через wp_set_object_terms update_post_meta добавлять товары. Но тут также будет задействована часть API wordpress.
https://lukasznowicki.info/insert-new-woocommerce-...

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

Возможно стоит выполнять все запросы параллельно. Например есть 100 категорий, берем первые 10 категорий и запускаем 10 экземпляров импорта. когда они выполнят импорт, брать еще 10.
Чтобы все намного быстрее было желательно запускать скрипты через терминал, без использования веб-сервера, как посредника.
Ответ написан
trampick
@trampick
Веб-разработчик
Это изначально неправильная идея вставлять(или обновлять как в задаче сказано) каждых 6 часов более 100к товаров, да и использовать WC для такого количества товаров не разумно на каком либо железе.

Вставить напрямую через mysql товар не так просто, есть много взаимосвязей между таблицами. Так как я понимаю у тебя тянутся товары откуда то из вне, то нет возможности у эти товаров сохранить определенные параметры и тебе нужно будет помимо вставки делать постоянные выборки. Реализовать все это можно и будет быстрее работать, но как поддерживать и где искать ошибки если что не так - не понятно. Особенно на 100к записях. Кстати, по моему опыту больше всего нагрузку дает это обработка изображений, если их правильно через wp ядро добавлять.

Если один раз вставить все эти товары и затем обновлять только определенные параметры, например цену, то задача уже более реальная. Нужно делать выборку товаров, что бы получить их id и затем обновлять необходимые данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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