Cómo administrar los trabajos de WordPress Cron

Publicado: 2021-05-14
cron de wordpress
Siga @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 segundo cercano.

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 los trabajos de WordPress Cron con el complemento
      • Paso 1: Instale el complemento de control de WP
      • Paso 2: Ver y comprender los eventos Cron
      • Paso 3: editar el evento Cron
      • Paso 4: agregar un intervalo de tiempo personalizado
      • Paso 5: Agregar un nuevo evento Cron
    • Cómo administrar trabajos de WordPress Cron 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 (script o comando) en 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, diariamente y semanalmente. Aquí, las tareas basadas en el tiempo dependen de que los usuarios visiten su sitio, lo que significa que el cron de WordPress solo se ejecutará si un usuario visita su sitio web.

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 trabajos cron de WordPress, pero le mostraré dos métodos populares.

El primero utiliza 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 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 los trabajos de WordPress Cron con el 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 utilizado para manejar 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 rápidamente y puede hacer mucho más 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 Cron

A continuación, debe hacer clic en Eventos cron y verá una lista de eventos cron que se están ejecutando 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 utiliza 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 ninguna opción para eliminar estos eventos cron, sin embargo, puede usar las opciones de editar y ejecutar ahora . Del mismo modo, para sus complementos, notará que se utilizan 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 va a realizar este cron (la "función" del trabajo cron).
La última columna define los tiempos de repetición de los trabajos cron. Este es básicamente el intervalo de tiempo para la tarea programada.

Paso 3: editar el evento Cron

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

Ve al nombre de un gancho y haz 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 repetición 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, 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 hacia abajo hasta la parte inferior donde verá " Agregar Cron Schedule ". Complete los campos y haga clic en Agregar Cron Schedule .

agregar programa 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 tan 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 dé 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 una hora en el campo Siguiente ejecución . Por último, elija un tiempo de repetición (horario de programación) para su nuevo cron y haga clic en Agregar evento .

agregar 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, 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 ('cloudways_new_cron', 'cw_function');
function cw_function () {
wp_mail ('[correo electrónico protegido]', '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 panel 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 de WordPress Cron con WP CLI

También puede ver y administrar todos sus trabajos cron de WordPress desde la CLI de WordPress. En Cloudways, debe iniciar la 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 fue:

 aplicaciones de cd / 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 gancho, el tiempo de la próxima ejecución, la siguiente ejecución relativa y la recurrencia (hora programada).

Cómo configurar un trabajo Cron real

Ahora, ya sabe 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 elevado?

¡Entonces empecemos!

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

Primero, debe abrir el archivo wp-config utilizando 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 desactiva los eventos cron en ejecución en su sitio de WordPress y ahora puede crear un trabajo cron real.

Administre trabajos de Real Cron a través de la plataforma Cloudways

Comience con 3 días de prueba gratuita

PROBAR AHORA

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 de Cron > sección Avanzada .

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 utilizar este sitio para comprobar la expresión del horario. En mi caso, */5 * * * * es la expresión de 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 hablado de 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.