REVISIÓN de tablas SQL ENORMES: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Consejos]

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 varios escenarios de uso o interacción con otros complementos. 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 WooCommerce Programador de acciones 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 es mucho 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 tienes una tienda online en WooCommerce, y está conectado a Facebook Shops a través del complemento "Facebook para WooCommerce", sincroniza automáticamente los productos de WooCommerce con tu cuenta de Facebook Shops. Y lo hace cada 15 minutos. Estas entradas de SQL, si no se controlan, pueden generar 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 ejecuta 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".

Apasionado por la tecnología, escribo con gusto en StealthSettings.com desde el año 2006. Tengo una amplia experiencia en sistemas operativos: macOS, Windows y Linux, así como en lenguajes de programación y plataformas de blogs (WordPress) y para tiendas en línea (WooCommerce, Magento, PrestaShop).

Cómo » Curiosity » REVISIÓN de tablas SQL ENORMES: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Consejos]

1 pensamiento sobre “ARREGLAR tablas SQL ENORMES: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Consejos]"

  1. @Stealth
    Tak por hjælpen. Tienda du redder min dag og. Jeg opdagede primero dette efter et nedbrud af min webshop. Administre los complementos y comience con la salida de dumpe deres i den tabel og det fylder… Wooping 9.2GB tabel fik min host to opgive hans ellers fine opp-tid. Nu trimmer jeg med den fine kode!
    Lige et spørgsmål på falde rebet denne table "wpb_action_scheduler_purge" default yo db'en eller skal jeg evt. renombrar den til noget i mindefault hedder min db ikke 'wp_') eller er det måske en funktion?
    Gracias por la ayuda y el artículo super fino.

    Saludos
    netzie

    Responder
Deja un comentario