Cómo administrar trabajos cron de WordPress

Publicado: 2021-05-14
trabajo cron de wordpress
Siga a @Cloudways

Muchos desarrolladores de WordPress, especialmente los principiantes, tienen una pregunta común "¿qué es el cron de WordPress" con "¿cómo administrar los trabajos cron de WordPress?" un cercano segundo.

La respuesta es simple: use cualquiera de los métodos de administración de trabajos cron de WordPress que describiré en este artículo.

  • ¿Qué es WordPress Cron?
  • Cómo administrar un trabajo cron de WordPress
    • Cómo administrar trabajos cron de WordPress con complemento
      • Paso 1: Instale el complemento de control de WP
      • Paso 2: Ver y comprender los eventos de Cron
      • Paso 3: Editar evento Cron
      • Paso 4: agregar un intervalo de tiempo personalizado
      • Paso 5: agregar un nuevo evento Cron
    • Cómo administrar trabajos cron de WordPress con WP CLI
  • Cómo configurar un trabajo cron real

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

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, debe comprender qué es un cron de WordPress y cómo funciona.

¿Qué es WordPress Cron?

WordPress tiene su propio sistema cron para programar tareas como buscar actualizaciones, programar una publicación para su publicación y eliminar comentarios de la papelera. Todos los trabajos cron son manejados por WP-Cron.

Si bien el nombre (y la idea principal) proviene del cron de UNIX, el cron de WordPress no funciona así y usa intervalos para la programación de tareas. Los intervalos de tiempo predeterminados proporcionados por WordPress son cada hora, dos veces al día, diario y semanal. Aquí, las tareas basadas en el tiempo dependen de los usuarios que visitan su sitio, lo que significa que el cron de WordPress solo se ejecutará si un usuario visita su sitio web.

Alojamiento administrado de WordPress desde $ 10 / mes

Agregue y programe trabajos cron con absoluta facilidad en la plataforma de alojamiento en la nube más rápida.

PRUEBA GRATUITA DE 3 DÍAS

En otras palabras, el cron de WordPress se ejecuta cuando se carga la página. A veces, esto no es tan confiable, y es por eso que muchos usuarios prefieren un trabajo cron a nivel de servidor sobre el trabajo WP-Cron.

En este artículo, le mostraré cómo administrar los trabajos cron de WordPress y configurar un trabajo cron real para su sitio de WordPress.

Cómo administrar trabajos cron de WordPress

Hay muchas formas de configurar y administrar los trabajos cron de WordPress, pero le mostraré dos métodos populares.

El primero usa un complemento de administración de cron como WP Crontrol que le permite agregar, modificar y administrar trabajos cron de WordPress directamente desde el panel de control de WP. También puede crear un trabajo cron, crear enlaces y funciones y definir intervalos de tiempo personalizados para las tareas.

Y el segundo método es con la CLI de WordPress.

Cómo administrar trabajos cron de WordPress con complemento

Usaré el complemento WP Crontrol que le permite ver y controlar el cron de WordPress para su aplicación de WordPress. Es el complemento popular que se usa 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 administrar trabajos cron de WordPress y puede ver, editar, crear, eliminar y hacer mucho más rápidamente con los eventos cron de WordPress.

¡Entonces empecemos!

Paso 1: Instale el complemento de control de WP

Al igual que cualquier otro complemento, debe instalar WP Crontrol desde el repositorio de complementos y activarlo. Una vez que esté instalado, notará que ha aparecido una nueva opción "Cron Events" en la pestaña Herramientas .

eventos cron

Paso 2: Ver y comprender los eventos de Cron

A continuación, debe hacer clic en Eventos cron y verá una lista de eventos cron que se ejecutan en su aplicación de WordPress.

lista de eventos cron

Desde esta sección, puede ejecutar, editar y eliminar sus eventos cron. Verá esta opción cuando pase el mouse sobre cualquier evento cron.

También encontrará información útil sobre estos trabajos cron e identificará rápidamente qué trabajo cron se usa para qué propósito y mucho más. En la primera columna, Hook muestra el nombre del hook utilizado por el núcleo de WordPress o cualquier complemento. Por ejemplo, el prefijo “ wp ” simplemente muestra que es un cron del núcleo de WordPress. También notará que no hay opción para eliminar estos eventos cron; sin embargo, puede usar las opciones editar y ejecutar ahora . De manera similar, para sus complementos, notará que se usan otros prefijos (por ejemplo, para WooCommerce, "wc" o "woocommerce").

La segunda columna Argumentos solo contiene los argumentos que se pasan a las funciones de enlace.

La tercera columna muestra cuándo se ejecutará este trabajo cron la próxima vez.

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

Paso 3: Editar evento Cron

Ahora editemos un trabajo cron de WP para probar este complemento.

Vaya al nombre de un gancho y haga clic en editar . Aparecerá una nueva sección " Editar evento Cron " donde verá diferentes campos. En mi caso, edité el gancho “wp_privacy_delete_old_export_files”. A continuación, voy a cambiar la recurrencia de este trabajo cron a "Cada quince minutos".

editar eventos cron

Paso 4: agregar un intervalo de tiempo personalizado

A continuación, le mostraré cómo agregar un intervalo de tiempo personalizado para sus eventos cron. Para ello, haz clic en la pestaña “ Cron Schedule ” y aparecerá una nueva pantalla donde verás el detalle de los intervalos de tiempo programados. A continuación, desplácese hacia abajo hasta la parte inferior donde verá " Agregar cronograma ". Complete los campos y haga clic en Agregar cronograma cron .

agregar horario cron

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

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

editar evento cron

Paso 5: agregar un nuevo evento Cron

Ahora sabe cómo administrar las tareas simples para sus eventos cron, pero ¿qué sucede si desea agregar su propio trabajo cron para su aplicación de WordPress? No se preocupe, es muy simple y todo lo que necesita hacer es seguir las instrucciones a continuación.

Primero, haga clic en Agregar evento cron y accederá a la sección Agregar cron. Luego, simplemente asigne un nombre de gancho como desee (debe seguir la convención de nomenclatura normal de PHP y sin espacios).

Luego, agregue 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 Próxima ejecución . Por último, elija un tiempo de recurrencia (tiempo de programación) para su nuevo cron y haga clic en Agregar evento .

añadir evento cron

Si tiene alguna consulta al respecto, puede verificar la configuración de cualquier trabajo cron en ejecución desde sus eventos cron.

Después de agregar un nuevo trabajo cron, vaya a la pestaña de eventos cron y verifique su cron recién creado. Notarás que en la columna de acción te mostrará Ninguno (error). Esto se debe a que no ha definido ninguna acción para este trabajo cron. Por lo tanto, debe escribir algunas líneas de código en el archivo functions.php del tema y agregar una acción.

ningún error

Nota: Antes de continuar, se recomienda encarecidamente 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('cloudways_new_cron', 'cw_function');
función cw_function() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - un alojamiento en la nube administrado!');
}

No olvides reemplazar mi dirección de correo electrónico con la tuya.

función dirección de correo electrónico php
Puedes ver en la imagen de arriba, la edité directamente con el tablero de WordPress. Si lo desea, puede editar este archivo a través de un cliente FTP como FileZilla.

A continuación, revisemos la bandeja de entrada del correo electrónico y veamos si estamos recibiendo el mensaje.

correo electrónico cron

¡Tada! Está hecho y hemos agregado con éxito un nuevo evento cron.

Cómo administrar trabajos cron de WordPress con WP CLI

También puede ver y administrar todos sus trabajos cron de WordPress desde la CLI de WordPress. En Cloudways, debe iniciar el terminal e iniciar sesión con las credenciales del servidor.

A continuación, coloque la ruta de su aplicación de WordPress. En mi caso, la URL era:

 cd aplicaciones/urrghmpqks/public_html/ 

trabajo cron WP CLI

A continuación, debe ejecutar este comando:

 lista de eventos cron de wp 

trabajo cron WP CLI

Puede ver el nombre del enlace, el tiempo de la próxima ejecución, el relativo de la próxima ejecución y la recurrencia (tiempo programado).

Cómo configurar un trabajo cron real

Ahora, ya sabes qué es el trabajo cron de WordPress y cómo funciona. ¿Qué sucede si desea reemplazarlo con un trabajo cron real debido a cualquier motivo, como poco tráfico, tareas importantes que deben ejecutarse en un momento determinado, ataques DDoS excesivos o tiempo de carga de página alto?

¡Entonces empecemos!

Paso 1: Abra y edite el archivo wp-config.php

Primero, debe abrir el archivo wp-config usando un cliente FTP como FileZilla o un cliente SSH como PuTTY. Después de eso, edite el archivo y coloque la siguiente línea de código antes de la línea donde dice /* Eso es todo, ¡deje de editar! Feliz blogueo. */

Código:

 define('DISABLE_WP_CRON', verdadero); 

editar archivo de configuración wp

Este código deshabilita los eventos cron en ejecución en su sitio de WordPress y ahora puede crear un trabajo cron real.

Paso 2: agregar un nuevo trabajo cron al servidor

A continuación, inicie sesión en su plataforma Cloudways y luego vaya al panel Administración de aplicaciones > Administración de trabajos cron > sección Avanzado .

agregando un nuevo trabajo cron

Luego agregue el siguiente comando y haga clic en Guardar cambios:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1

pestaña cron avanzada

En el comando anterior, primero, definí un intervalo de cinco minutos para el trabajo cron. Puede usar este sitio para verificar la expresión del horario. En mi caso, */5 * * * * es la expresión del intervalo.

¡Felicidades! Ha agregado con éxito un trabajo cron real.

¡Ultimas palabras!

Espero que este artículo te haya ayudado a comprender cómo funciona el trabajo cron de WordPress. He discutido dos métodos para administrar trabajos cron de WordPress; uno a través de un complemento y el otro a través de WP-CLI. También he discutido cómo configurar un trabajo cron real en un servidor en vivo.

Si tiene alguna pregunta, hágamelo saber en la sección de comentarios a continuación.