Подходит ли метод пакетной обработки для большого количества пересборок?
2851000 / 27182220 ( 10.5%)
Это наш текущий процесс, запущенный вчера с помощью обычной команды пересборки. Похоже, что система обрабатывает около 1000 элементов каждые 3 секунды. Мы находимся почти на финише нашего пути импорта и тестирования, и я просто хотел убедиться, что существует более правильный способ пересборки крупного сайта, прежде чем мы окончательно остановимся на этом более медленном методе.
Может кто-нибудь объяснить, как работает эта версия с in_batches? Скорее всего, она выполняет повторную выпечку партиями, но из вышеприведенных постов следует, что по умолчанию повторная выпечка выполняется партиями по 100 каждые 15 минут.
У меня есть задача по повторной выпечке объемом 2 миллиона записей, и я пытаюсь найти лучший способ её выполнения. Задача не срочная, но я хочу убедиться, что обычная работа и административные операции (например, резервное копирование) не будут затронуты длительным выполнением этой задачи.
И вот я только что прочитал этот пост: Rebaked all my posts, but what's it doing now?, из которого следует, что задача перепечки даже не перепёкает посты, а лишь помечает их для перепечки (как именно делается эта пометка?). Процесс настолько медленный, что мне трудно поверить, что на простую пометку поста для перепечки уходит так много времени.
Будьте благодарны, что это не перегружает ваш сайт. Весь смысл в том, чтобы предотвратить чрезмерное потребление ресурсов этим процессом, сохраняя отзывчивость вашего сайта во время его выполнения.
Действительно, маркировка должна быть очень быстрой. И функция rebake_post, похоже, вызывает процесс приготовления. Возможно, существуют какие-то асинхронные задачи, которые выполняются в рамках этого процесса или как его результат?
Я написал программу для сканирования всех импортированных сообщений, чтобы определить, какие разметки и смайлики они содержат. Затем написал другую программу, которая преобразует сырые сообщения в HTML и напрямую обновляет базу данных.