fbpx

Detalles Blog

Cómo administrar los cron jobs de WordPress

Muchos desarrolladores de WordPress, especialmente los principiantes, tienen una pregunta común: «¿qué es el cron jobs en WordPress?

La respuesta es sencilla: usa cualquiera de los métodos de gestión de cron jobs de WordPress que describiré en este artículo.

Cron es una utilidad estándar de UNIX para programar la ejecución de tareas (scripts o comandos) a una hora, fecha o intervalo específicos. La tarea que va a ejecutar se conoce como cron jobs. Como puede adivinar, el propósito de un cron jobs es automatizar tareas repetitivas para que pueda hacer un uso más productivo de su tiempo.

Sin embargo, el trabajo cron de WordPress es ligeramente diferente del cron estándar, y es por eso que antes de sumergirse en la acción y el proceso, necesita entender qué es un cron de WordPress y cómo funciona.

¿Qué es WordPress Cron?

WordPress tiene su propio sistema cron para programar tareas como la comprobación de actualizaciones, la programación de una entrada para su publicación y la eliminación de comentarios de la papelera. Todos los cron jobs son manejados por WP-Cron.

Aunque el nombre (y la idea principal) proviene de UNIX cron, WP-Cron no funciona así y utiliza intervalos para la programación de tareas. Los intervalos de tiempo por defecto proporcionados por WordPress son cada hora, dos veces al día, diariamente y semanalmente. Aquí, las tareas basadas en el tiempo dependen de que los usuarios visiten su sitio, lo que significa que WP-Cron sólo se ejecutará si un usuario visita su sitio web.

En otras palabras, WP-Cron se ejecuta cuando la página se carga. A veces esto no es tan fiable, y por eso muchos usuarios prefieren una tarea cron a nivel de servidor en lugar de la tarea WP-Cron.

En este artículo, voy a mostrarte cómo gestionar las tareas cron de WordPress y configurar una verdadera tarea cron para tu sitio de WordPress.

Cómo gestionar un Cron Job de WordPress

Hay muchas maneras de configurar y gestionar las tareas cron de WordPress, pero le mostraré dos métodos populares.
El primero utiliza un plugin de gestión de cron como WP Crontrol que le permite añadir, modificar y gestionar las tareas cron de WordPress directamente desde el panel de control de WP.

También puedes crear un trabajo cron, construir hooks y funciones, y definir intervalos de tiempo personalizados para las tareas.

Cómo gestionar los Cron Jobs de WordPress con un plugin

Utilizaré el plugin WP Crontrol que le permite ver y controlar los trabajos cron de WP para su aplicación de WordPress. Es el plugin más popular usado para manejar los trabajos cron de WP y tiene más de 100,000 instalaciones activas.
Este es el método más fácil de gestionar los trabajos cron de WordPress y puede ver, editar, crear, eliminar y puede hacer mucho más con los eventos cron de WP.

¡Así que vamos a empezar!

Paso 1: Instalar el plugin WP Control

Como cualquier otro plugin, necesitas instalar WP Crontrol desde el repositorio de plugins y activarlo. Una vez instalado, notarás que ha aparecido una nueva opción «Cron Events» en la pestaña de Herramientas.

Paso 2: Ver y entender los Eventos Cron

A continuación, debe hacer clic en Cron Events y verá una lista de eventos cron que se están ejecutando en su aplicación de WordPress.

Desde esta sección, puede ejecutar, editar y eliminar sus eventos cron. Verás esta opción cuando pases el ratón por encima de cualquier evento cron.

También encontrará información útil sobre estos trabajos cron y podrá identificar rápidamente qué trabajo cron se utiliza para qué propósito y mucho más. En la primera columna, Hook muestra el nombre del comando utilizado por el núcleo de WordPress o cualquier plugin. Por ejemplo, el prefijo «wp» simplemente muestra que es un cron del núcleo de WordPress. También notarás que no hay opción para borrar estos eventos cron, sin embargo puedes usar las opciones de editar y ejecutar ahora. Del mismo modo, para sus plugins, notará que se utilizan otros prefijos (por ejemplo, para WooCommerce, «wc» o «woocommerce»).

La segunda columna Argumentos sólo contiene los argumentos que se pasan a las funciones del hook.

La tercera columna muestra cuándo se va a ejecutar esta tarea cron la próxima vez.

La cuarta columna Acción muestra qué acción va a realizar este cron (la «función» del trabajo cron).
La última columna define los tiempos de recurrencia de los trabajos cron. Esto es básicamente el intervalo de tiempo para la tarea programada.

Paso 3: Editar el evento Cron

Ahora vamos a editar un trabajo cron de WP para probar este plugin.

Vaya al nombre de un cron y haga clic en editar. Aparecerá una nueva sección «Edit Cron Event» donde verás diferentes campos. En mi caso, he editado el hook «wp_privacy_delete_old_export_files». A continuación, voy a cambiar la recurrencia de este trabajo cron a «Cada quince minutos».

Paso 4: Añadir un intervalo de tiempo personalizado

A continuación, le mostraré cómo añadir un intervalo de tiempo personalizado para sus eventos cron. Para ello, haga clic en la pestaña «Cron Schedule» y aparecerá una nueva pantalla donde verá los detalles de los intervalos de tiempo programados. A continuación, desplácese hasta la parte inferior donde verá «Add Cron Schedule». Rellena los campos y haz clic en «Add Cron Schedule».

Tenga en cuenta que la entrada para el intervalo está en segundos. Utilizaré 600 segundos para establecer el intervalo en 10 minutos.

Ahora puede editar su evento cron y reemplazarlo con su propio intervalo personalizado.

Paso 5: Añadir un nuevo evento cron

Ahora ya sabes cómo gestionar las tareas simples para tus eventos cron pero qué pasa si quieres añadir tu propio trabajo cron para tu aplicación WordPress. No se preocupe, es muy sencillo y todo lo que tiene que hacer es seguir las siguientes instrucciones.

Primero, haz clic en Añadir Evento Cron y entrarás en la sección de añadir cron. A continuación, sólo tiene que dar un nombre de gancho como desee (debe seguir la convención de nomenclatura normal de PHP y sin espacios).

Luego, añade los argumentos (es opcional) y en mi caso está en blanco. Y a continuación, seleccione cualquier opción y ponga un tiempo en el campo de la siguiente ejecución. Por último, elija una hora de recurrencia (hora de programación) para su nuevo cron y haga clic en Añadir Evento.

Si tiene alguna duda al respecto, puede comprobar la configuración de cualquier trabajo cron que se esté ejecutando desde sus eventos cron.

Después de añadir un nuevo trabajo cron, vaya a la pestaña de eventos cron y compruebe su nuevo cron. Observará que en la columna de acción aparecerá Ninguno (error). Esto se debe a que no has definido ninguna acción para este trabajo cron. Por lo tanto, tienes que escribir unas líneas de código en el archivo functions.php del tema y añadir una acción.

Nota: Antes de seguir adelante, es muy recomendable hacer una copia de seguridad del sitio de WordPress.

Abramos el archivo y agreguemos las siguientes líneas de código justo después de <?php:

add_action( 'moshipp_new_cron', 'cw_function' );
function cw_function() {
wp_mail( 'tucorreo@tudominio.com', 'Moshipp Cron', 'Moshipp - a Managed Cloud Hosting!' );
}

Puedes ver en la imagen de arriba que lo he editado directamente con el dashboard de WordPress. Si lo deseas, puedes editar este archivo a través de un cliente FTP como FileZilla.

A continuación, vamos a comprobar la bandeja de entrada del correo electrónico y ver si estamos recibiendo el mensaje.

¡Tada! Ya está hecho y hemos añadido con éxito un nuevo evento cron.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

WeCreativez WhatsApp Support
Nuestro equipo de atención al cliente está aquí para responder a sus preguntas. ¡Pregúntenos cualquier cosa!
👋 Hola, ¿Cómo te puedo ayudar?