Wordpress массовая загрузка продуктов (woocommerce) - 650K - PullRequest
0 голосов
/ 28 октября 2019

Я использую WordPress + Woocommerce для одного проекта. Проблема в том, что файл CSV от клиента содержит более 650 тыс. Записей для продуктов, и мне нужно загрузить все эти продукты в магазин woocommerce.

Wordpress с использованием 2 таблиц (wp_posts, wp_postmeta) для продуктов и 3 таблиц (wp_terms, wp_term_taxonomy, wp_term_relationships) для категорий и тегов. Все продукты должны быть загружены как простые продукты WooCommerce.

Не уверен, что может быть лучшим вариантом для такой миграции данных.

Я пытался использовать плагин импорта WordPress для этого (WP All Import), но это занимало слишком много времени.

С помощью этого сценария ( largeCSV2mySQL ) я смог импортировать информацию о продуктах 650 КБ в таблицу базы данных менее чем за 10 секунд. Можно ли как-нибудь быстро импортировать все эти 650 тыс. Продуктов в магазин woocommerce?

Что может быть лучшим для обработки таких огромных данных?

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Я настоятельно рекомендую использовать API REST Woocommerce для заполнения данных. Вам обязательно нужно написать код для обработки вашего файла, используя доступные вам действия CRUD. REST API справляется с большей частью тяжелой работы, все, что вам нужно сделать, это прочитать данные из вашего файла и приспособить их к API.

Если у вас есть большое количество продуктов для импорта, и это всев одном файле попробуйте составить свой импортер, чтобы обработать только диапазон строк (это можно сделать с параметрами командной строки). Это позволит вам выполнить импорт в нескольких терминалах и распределить нагрузку, вместо того, чтобы писать что-то многопоточное с использованием pthreads.

0 голосов
/ 28 октября 2019

Я рекомендую создать функцию, которая извлекает данные из файла и отправляет их в WordPress / Woocommerce с помощью wp_insert_post и post_type 'product'.

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