Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Borrar tablas wp_actionscheduler_actions y wp_actionscheduler_logs

Si tienes WooCommerce instalado y también plugins adicionales relacionados con tu tienda, es posible que tengas muchos registros de acciones y de logs, lo puedes comprobar revisando las tablas de tu base de datos.

 

Generalidades

Las acciones son eventos del cron únicos o repetitivos que programa WooCommerce para hacerlas en segundo plano, adicional a estos registros también guarda logs de todo las acciones que realiza.

Puedes ver un listado de las acciones que tienes desde el backend de WordPress en: WooCommerce > Estado > Acciones Programadas.

Pantalla de acciones programadas en WooCommerce
Desde esta pantalla puedes eliminar las acciones que aún no están completadas, sin embargo si son muchos registros a eliminar lo más práctico es hacerlo a través de consultas SQL a la base de datos.

 

Comprobando tablas grandes en la base de datos

Desde el panel de control de tu cuenta de hosting debes tener el acceso a la aplicación PHPMyAdmin, desde allí, al seleccionar la base de datos de tu sitio podrás ver las tablas, y ordenar por tamaño, tal como se muestra en la siguiente imagen.

Tablas grandes que ocupan mucho espacio en la base de datos
En la imagen puedes ver que PHPMyAdmin te da una opción para vaciar las tablas, sin embargo la tabla de acciones es posible que tenga acciones pendientes que necesitamos conservar, por lo que no podemos eliminar todos los registros.

 

Borrar registros de tablas grandes wp_actionscheduler_actions y wp_actionscheduler_logs

Para eliminar los registros de estas tablas grandes usaremos consultas SQL, truncaremos las tablas para que la ejecución sea mucho más rápida.

No te olvides cambiar los prefijos de las tablas “wp_” por el que tengas configurado para tus tablas
SET SQL_MODE='ALLOW_INVALID_DATES';
CREATE TEMPORARY TABLE tmp_data_table SELECT * FROM wp_actionscheduler_actions where `status` = 'pending';

TRUNCATE TABLE wp_actionscheduler_actions;

INSERT wp_actionscheduler_actions SELECT * FROM tmp_data_table;

DROP TABLE tmp_data_table;

TRUNCATE TABLE wp_actionscheduler_logs;

En el código anterior:

  • Primero cambiamos para que nos permita trabajar con fechas no válidas ya que por defecto son 0000-00-00 00:00:00
  • Creamos una tabla temporal con los registros pendientes de la tabla de acciones
  • Truncamos la tabla de acciones
  • Insertamos los registros pendientes almacenados en la tabla temporal
  • Borramos la tabla temporal
  • Truncamos directamente la tabla de logs ya que en este caso no queremos conservar ningún registro

 

La otra opción es simplemente usar el comando DELETE de SQL, sin embargo he tenido problemas en alguna cuenta de hosting, por lo que lo más rápido y práctico que siempre me ha resultado es truncar las tablas.

 

Cambiando el intervalo de limpieza de las acciones y logs

Por defecto se realiza una limpieza de estas tablas cada 30 días, sin embargo puedes cambiar el intervalo agregando el siguiente código para que la limpieza sea cada semana.

add_filter( 'action_scheduler_retention_period', function(){
    return WEEK_IN_SECONDS;
} );
Puedes agregar el código anterior en el archivo functions.php de tu tema hijo

 

Conclusión

Como has podido comprobar, puedes fácilmente comprobar si tus tablas de acciones y logs de WooCommerce están aumentando y como hemos visto en este artículo puedes realizar una limpieza de las mismas a través de código.

 

¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

La entrada Borrar tablas wp_actionscheduler_actions y wp_actionscheduler_logs es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires