CORREGIR ENORMES tablas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Consejos de WooCommerce]

WooCommerce se ha convertido en un módulo ampliamente utilizado revista digital. SEO, producto, gestión de inventario, código limpio e intuitivo, interfaz de administración simple y miles de complementos desarrollados para Woo, son solo algunos de los argumentos por los que vale la pena arriesgarse cuando piensa en desarrollar una tienda en línea.

Como cualquier CMS, Woo no es una excepción a las rarezas que pueden ocurrir en diferentes escenarios de uso o interacción con otros complementos de WordPress.
En un servidor de recursos hardware bastante generoso, noté que servicio de base de datos (mysqld) comienza a requerir casi un 80-90% de RAM. Un problema bastante grave, porque simplemente no entendía de dónde proviene el error 110 periódicamente (110: tiempo de conexión agotado).
Al examinar más de cerca los procesos de SQL, descubrí que una base de datos tiene dos tablas con volúmenes bastante grandes: wp_actionscheduler_actions si wp_actionscheduler_logs.

normalmente acciones programadas de Programador de acciones de WooCommerce deben eliminarse automáticamente después de su ejecución. Esto no siempre sucede y se atascan en wp_actionsscheduler_actions con el estado: fracasado, cancelado, pendiente o completar.

En la imagen de arriba, las tablas "wp_actionsscheduler"Solo tienen poco más de 15 MB. Lamento no haberme inspirado a tomar una captura de pantalla cuando tenían 1.2 GB. Aun así, 15 MB son suficientes para una tabla que contiene las acciones programadas de WooCommerce.
Estas tablas "hinchadas" son el resultado de WP-Cron no elimina las entradas que tienen estatus "fracasado","cancelado"Y"completar“. Normalmente, estas entradas deben eliminarse automáticamente de la base de datos.
Las acciones programadas y su estado se pueden ver muy fácilmente y en WooCommerce →  Estado →  Acciones programadas.

Cómo limpiar las canaletas "fracasado","cancelado"Y"completar"En wp_actionscheduler_actions si wp_actionscheduler_logs

Accedemos a la base de datos a través de phpMyAdmin, luego en SQL ejecutamos las líneas de comando a su vez:

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

Una vez que se limpia esta tabla, no significa que el problema esté resuelto. Como dije anteriormente, la causa principal es la desactivación del servicio WP-Cron por varias razones. Por lo tanto, las entradas con estado "zombi" ya no se pueden borrar.
Es muy importante saber que si tiene una tienda en línea en WooCommerce, y está conectada a las tiendas de Facebook a través del complemento "Facebook para WooCommerce", Sincroniza automáticamente los productos WooCommerce con su cuenta de Facebook Shops. Y lo hace en unos 15 minutos. Si estas entradas SQL no están controladas, puede obtener varios cientos de miles de líneas ".wc_facebook_regenerate_feed"En"wp_actionscheduler_actions".

Este intervalo está bien para las tiendas que tienen una gran cantidad de pedidos y el stock de productos de Facebook Shops debe actualizarse constantemente. Si aún cree que estas sincronizaciones entre Facebook y su tienda se pueden realizar cada 24 horas, la línea de código a continuación puede ayudar.

Abra el archivo functions / php del tema WordPress / WooCommerce en el que se está ejecutando su tienda y agregue:

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

A continuación podemos establecer un intervalo de una semana para la limpieza automática:

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

Una vez que guarde estos cambios, no tendrá problemas con tablas gigantes para "wp_actionscheduler_actions".

CORREGIR ENORMES tablas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Consejos de WooCommerce]

Sobre la autora

Stealth

Apasionado de todo lo relacionado con los gadgets y las TI, escribo con placer en sigilosettings.com desde 2006 y me gusta descubrir contigo cosas nuevas sobre computadoras y sistemas operativos macSO, Linux, Windows, iOS y Android.

Deja un comentario