Интеграция auctions.yahoo.co.jp через API с WordPress
Требовалось интегрировать аукционные лоты определенной категории с крупного японского аукциона товаров auctions.yahoo.co.jp на сайт.
Для решения этой задачи была выбрана CMS WordPress, исходя из скорости реализации нужного функционала.
Добавление новых лотов реализовано через API по крону, при этом идет парсинг текста для определения специфических характеристик лота.
Обновление лотов также происходит периодически по крону через API.
Перевод всех японских текстов реализовано через бесплатное API стороннего сервиса(взамен они требуют ссылку с каждой страници сайта, где размещается их перевод).
Работа с Yahoo Auctions API реализованна асинхронно, но пришлось подстраиваться под дневные лимиты как Yahoo API так и API переводов.
Количество лотов на данном проекте перевалило за 600000 и с WordPress’ом начались проблемы.
- Сразу же был отключен механизм ревизий.
- Крон вордпресса тоже пришлось отключить и повесить все на крон сервера.
- Для задач, которые выполнялись по крону пришлось отказаться от встроенных функций вордпресса по работе с базой/постами и т.д. Все функции по работе с базой были переписаны и все стало намного быстрее работать и с меньшей нагрузкой на сервер бд.
- Все параметры лотов хранятся в метаданных. Встроенный поиск wordpress по параметрам медленно работает, если параметров много для каждого поста и постов более полумиллиона.