WP Cron efectúa una labor importante dentro de WordPress. Los gestores de contenidos utilizan un sistema que efectúa acciones automáticas cada cierto periodo de tiempo. Nos referimos a crontab, una utilidad propia de sistemas Unix y derivados que actúa a modo de administrador de procesos, conocida con el nombre de cron. Trabaja en segundo plano, siendo también capaz de ejecutar las instrucciones que se le marquen. El fichero crontab lleva incluidas una serie de instrucciones, así como los periodos de tiempo regulares de ejecución.
Siempre que esté activo este administrador de procesos, llevará a cabo todas las labores que el sistema marca por defecto. En ocasiones es necesario realizar nuevas acciones. Aunque existe la posibilidad de efectuarlas tras realizar unos ajustes en el servidor web y desactivar el WP Cron, en WordPress podemos recurrir a un complemento.
¿Para qué sirve WP Crontrol?
Se trata de un plugin para WordPress que no solo sirve para ver lo que está ocurriendo con el citado administrador de procesos, el conocido como WP Cron, sino también para establecer controles y nuevas programaciones.
Permite examinar, desde la pantalla de administración, todos los eventos que se efectúan, así como de los argumentos que los conforman. Permite también crear, editar, borrar y ejecutar nuevos eventos. Los que se crean han de incluir un script y debe además fijarse un periodo de ejecución.
Proceso de instalación
Desde el Panel de Administración de WordPress se sigue el procedimiento habitual en la instalación de plugins. Tras seguir la ruta Plugins -> Añadir nuevo, se escribe en la caja de búsqueda WP Crontrol. A continuación se procede a su descarga e instalación.
Como optimizar regularmente la base de datos
Al finalizar el proceso de instalación y activación vamos a Herramientas -> Crontrol. En el panel que se muestra a la derecha veremos la lista de todos los eventos WP Cron. Se muestra el nombre de cada uno (Hook name), los argumentos, cuando será la próxima ejecución y el periodo de ejecución, así como tres botones: editar, ejecutar ahora y borrar.
Vamos a crear un nuevo evento. En la parte inferior de la pantalla pulsamos sobre Add new PHP event, justo a la derecha de Add Cron Event. Tendremos que indicar el Hook code y el Event schedule, seleccionando uno de los que aparecen en la lista. Si no aparece el que nos interesa, seleccionaremos uno cualquiera y posteriormente lo cambiaremos.
Hook code para la optimización
$selQuery = "SHOW TABLE STATUS FROM `".DB_NAME."`"; $resSel = mysql_query($selQuery) or die(mysql_error()); while($row = mysql_fetch_assoc($resSel)){ if($row["Data_free"] > 0){ $optQuery = "OPTIMIZE TABLE `".$row["Name"]."`"; mysql_query($optQuery) or die(mysql_error()); } }
En consonancia con la actividad de nuestra instalación de WordPress, seleccionaremos en Event schedule, cada hora, cada dos horas, o el valor que consideremos más adecuado. Después de guardar los resultados el cron entrará en acción. En cualquier momento se pueden realizar cambios pulsando sobre el botón Edit.
¿Cómo añadir nuevos periodos de tiempo para los eventos?
Si accedemos a Ajustes -> Cron Schedules, veremos todos los periodos definidos. Podemos definir otros nuevos, sobre todo si los que tenemos no nos valen para definir el periodo de optimización de la base de datos de WordPress. Lo haremos en la parte inferior de la pantalla, indicando el nombre del cron schedule, el intervalo en segundos y el nombre que queremos que se muestre.
Acceso
Para conocer las características de este plugin hay que acceder a WP Crontrol.