Добавить более 15 тыс. Элементов в базу данных WordPress, не перегружая сервер? - PullRequest
0 голосов
/ 21 ноября 2018

Мы создали Crawler с использованием GuzzleHTTP и других связанных библиотек, размещенных на серверах AWS, который сканирует и предоставляет нам около 5000 продуктов только с одного сайта, и у нас всего 4 сайта, поэтому количество элементов достигает примерно 15 000+.

Теперь Crawler работает нормально, и мы можем сканировать весь сайт менее чем за час и создавать файлы JSON.

Затем мы экспортируем данные из этих файлов JSON в базу данных WordPress с элементамибыть сообщением и любыми дополнительными данными в виде post_meta, а также терминами и таксономиями.Мы делаем это прямо сейчас, используя перехватчики и фильтры WP Ajax и цикл (ofcourse).

Но экспорт занимает очень много времени, и вероятность того, что сервер выдаст тайм-аут, очень высока, чтоКак обычно, серверы Apache не предназначены для такой нагрузки.

Нам нужно знать, как это можно сделать наилучшим образом.

  1. Создаем ли мы БД насам AWS и как-то подключить его к WordPress?Если да, то как мы будем управлять отношениями между пользовательскими публикациями, их мета и терминами.Как будто мы добавляем данные на сервер, на котором размещен WordPress, мы можем использовать функции WordPress для создания постов и соответствующего связывания данных.

  2. Запускаем ли мы CRON Job на стороне сервера WordPressи дать больше мощности серверу, чтобы не было проблемы с тайм-аутом.Мы на серверах Site Ground.

  3. Или это лучший способ сделать это?

Любая помощь будет признательна.

Спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

Основываясь на своем опыте, я создал более 50 000 продуктов на WordPress / WooCommerce.

Когда я впервые использовал API woo commerce для создания продуктов с внешнего сервера, это очень легко сделать, но это потребует много времени.Вот документация [http://woocommerce.github.io/woocommerce-rest-api-docs/#introduction][1]

. Лучший способ для меня - использовать ловушки WordPress, это будет быстрее, чем API.Вы можете установить время ожидания -1, и оно больше не будет отображаться.

На мой взгляд, WordPress не лучший выбор для работы с огромными объемами данных.

Удачи

...