Исправить огромные таблицы SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [woocommerce tips]

Woocommerce стал очень используемым модулем все больше и больше Журнал онлайнПолем СеоУправление продуктами, акциями, чистым и интуитивно понятным кодом, простой интерфейсом администрирования и тысячами плугов, разработанных для WOO, являются лишь несколькими аргументами, за которые он заслуживает шанса, когда вы думаете о разработке интернет -магазина.

Как и любой CMS, ни WOO не является не исключением из шансов, которые могут возникнуть в сценариях различных или взаимодействия с другими плагинами WordPress.
На сервере с ресурсами аппаратное обеспечение Довольно щедро, я заметил, что Служба базы данных (mysqld) начинает просить почти 80– 90% памяти оперативной памяти. Довольно серьезная проблема, потому что я просто не понимал, откуда ошибка 110, от периодически (110: Соединение)
При более тщательной проверке процессов SQL я обнаружил, что база данных имеет две довольно значительные таблицы тома: wp_actionscheduler_actions и wp_actionscheduler_logsПолем

В нормальном моде запланированные действия но Woocommerce Action Scheduler Это должно быть удалено автоматически после их выполнения. Это не всегда происходит, и они остаются заблокированными в wp_actionschedier_actions со статусом: неуспешныйВ отмененВ в ожидании или полныйПолем

На изображении над таблицами “wp_actionsscheduler” У них есть только чуть более 15 МБПолем Мне жаль, что я не был вдохновлен сделать снимок экрана, когда они1,2 ГБПолем Несмотря на это, 15 МБ достаточно для таблицы, которая содержит запрограммированные действия Woocommerce.
Эти таблицы “Раздутый” приводит к WP-Cron не удаляет входы заботиться о статусе “неуспешный“В “отменен” и “полный“Полем Обычно эти входы должны быть автоматически удалены из базы данных.
Запланированные действия и их состояние мы можем увидеть это очень легко и в WoocommerceСтатусЗапланированные действияПолем

Как мы чистим заперты “неуспешный“В “отменен” и “полный” ОТwp_actionscheduler_actions и wp_actionscheduler_logs

Мы получаем доступ к базе данных через PhpMyAdmin, затем в SQL мы выполняем командные строки:

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'

Как только эта таблица очищена, это не означает, что проблема решается. Как я уже говорил выше, основная причина состоит в том, чтобы деактивировать по различным причинам службы WP-Chron. Таким образом, записи со статусами “зомби” Они больше не могут быть стерты.
Очень важно знать, что если у вас есть интернет -магазин на Wocommerce, и он подключен к магазинам Facebook через плагин “Facebook для Woocommerce“, он автоматически синхронизирует продукты WooCommerce с вашей учетной записью Facebook Shops. И это происходит около 15 минут. Эти входы SQL, если не управляются, вы можете получить несколько сотен тысяч линий “wc_facebook_regenerate_feed” в “wp_actionscheduler_actions“Полем

Этот интервал в порядке для магазинов, которые имеют большое количество заказов, и необходимо постоянно обновлять запасы магазинов Facebook. Если вы все еще рассматриваете эту синхронизацию из Facebook, и ваш магазин можно делать каждые 24 часа, приведенная ниже строка кода может помочь вам.

Откройте файл функций.

add_filter( 'wc_facebook_feed_generation_interval', function(){ return HOUR_IN_SECONDS * 24; } );

Далее мы можем установить интервал на одну неделю для автоматической очистки:

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
 return WEEK_IN_SECONDS;
}

После сохранения этих изменений у вас не будет проблем с гигантскими таблицами для “wp_actionscheduler_actions”Полем

Увлеченными технологиями, я с удовольствием пишу на stealthsetts.com, начиная с 2006 года. У меня богатый опыт работы в операционных системах: macOS, Windows и Linux, а также в языках программирования и платформах для блога (WordPress) и для интернет -магазинов (WooCommerce, Magento, Presashop).

Дом Ваш источник его учебников, полезных советов и новостей. Исправить огромные таблицы SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [woocommerce tips]

1 думал о "Исправить огромные таблицы SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [woocommerce tips]”

  1. @Stealth
    Спасибо за помощь. Вы спасаете мой день и делаете покупки. Я впервые обнаружил это после сбоя моего веб -магазина. Многие плагины начали сбрасывать свои результаты в этой таблице, и он заполняет… Таблица Wooping 9,2 ГБ заставила моего хозяина отказаться от своего прекрасного времени в ГЧП. Теперь я обрезаю прекрасным кодом!
    Просто вопрос о падении веревки в этом столе “wpb_action_scheduler_purge” Это по умолчанию в БД или, возможно, я должен. Переименовать это до чего -то в моем (по умолчанию мой DB не 'wp_’ ) или это функция?
    Спасибо за помощь и супер хорошую статью

    Приветствие
    Нетто

    Отвечать
Оставьте комментарий