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