Elimine completamente los eventos cron de WordPress y verifique los eventos cron abiertos de WP

En esta guía, le mostraré cómo verificar y eliminar las entradas cron de Wordpress.

Hoy tuve nuevamente el caso de que tenía el sitio de Wordpress de un cliente que era terriblemente lento a pesar de estar alojado en un "servidor administrado". Al llamar al administrador de WP, podía ver que estaba accediendo al archivo wp-cron.php una y otra vez y las páginas de administración a veces se abrían en tiempos de entre 30 segundos y 2 minutos. El requisito de memoria también era bastante alto con más de 200 MB de RAM. Todos los indicios de que algo no estaba del todo bien.

¿Qué es WP Cron?

WP cron es un tipo de trabajo cron interno que Wordpress usa para realizar tareas de limpieza periódicas y ejecutar scripts de administración. Con las páginas de Wordpress que tienen pocos visitantes, puede suceder que Wordpress no logre ejecutar los trabajos cron con la frecuencia suficiente debido a las pocas tareas. Sin embargo, en la mayoría de los casos, esto rara vez ocurre, ya que solo hay unas pocas tareas regulares en la lista de cron de WP. Estos ya están resueltos al llamar al área de administración de WP.

En esta guía, le mostraré cómo verificar y eliminar las entradas cron de Wordpress.
En esta guía, le mostraré cómo verificar y eliminar las entradas cron de Wordpress.

Ver la lista de eventos de WP Cron

Mi sospecha era que Wordpress tiene que procesar muchos trabajos cron en segundo plano, que luego el administrador siempre realiza con llamadas normales. Ahora Wordpress en sí mismo no proporciona una forma de ver esta lista de eventos cron, pero con el complemento "WP-crontrolObtiene una lista en el área de administración que le brinda información sobre las tareas individuales que actualmente todavía están en la cola de WP-Cron. Por ejemplo, esto se ve así:

Verifique la lista de WP-Cron-Events: Esto se ve así con el complemento WP-Crontrol, por ejemplo.
Verifique la lista de WP-Cron-Events: Esto se ve así con el complemento WP-Crontrol, por ejemplo.

En el caso de la instalación extremadamente lenta de Wordpress, la lista contenía más de 40.000 entradas generadas por el complemento "Huge-IT-Gallery" y que aumentaban constantemente en lugar de disminuir. El complemento WP-Crontrol ofrece una lista de todos los eventos cron y también puede eliminarlos individualmente usando un botón, pero con más de 40.000 entradas, se necesitaba una solución "más completa".

Eliminar todas las entradas cron de WP a la vez

Afortunadamente, Internet ofrece una amplia gama de opciones de información, y así fue como encontré el comando »delete_option('cron');«, que elimina todas las entradas en la tabla wp_options que coinciden con el área "cron".

eliminar_opción('cron');

Esto elimina todos los eventos cron existentes que Wordpress tiene actualmente en la cola. Para que se ejecute el comando, debe incluirlo en el archivo "funciones.php" en el tema. Luego llame a cualquier página de Wordpress en la interfaz y luego elimine la línea nuevamente. Si el tema no tiene un archivo "functions.php", también puede copiarlo en headerphp, footer.php u otros archivos que se ejecutan cuando se llama al sitio de WordPress.

Aquí, en la captura de pantalla, puede ver dónde se puede insertar el comando para eliminar todas las entradas cron de WP. En mi caso, se incorporó brevemente en functions.php en la carpeta del tema actual y luego se eliminó nuevamente.
Aquí, en la captura de pantalla, puede ver dónde se puede insertar el comando para eliminar todas las entradas cron de WP. En mi caso, se incorporó brevemente en functions.php en la carpeta del tema actual y luego se eliminó nuevamente.

Corrección del “culpable”

Ahora que se eliminaron todos los eventos cron, WordPress volvió a funcionar muy rápido. Para verificar, miré la lista de eventos cron con WP-Crontrol nuevamente y vi que constantemente se agregaban nuevas entradas del complemento Huge-IT-Gallery. Solo sería cuestión de tiempo que todo se ralentizara de nuevo.

Dado que aún se requería el complemento, simplemente busqué la cadena "cron" en el código fuente del complemento y comenté las líneas relevantes que causaron la creación de nuevos eventos cron para WP-Cron. Entonces, la instalación de Wordpress ahora está permanentemente limpia y agradable, rápida.

[sc nombre=”Ayuda de Wordpress”]

 

 

¿Te gustó el artículo y te ayudaron las instrucciones del blog? Entonces sería feliz si usted el blog a través de una membresía constante apoyaría.

Respuestas de 6 a "Eliminar completamente los eventos de WordPress Cron y verificar los eventos abiertos de WP Cron"

  1. hallo,
    Eso suena fácil, ¡genial!
    Pero: si simplemente elimino TODOS los trabajos cron, ¿no habrá problemas con los trabajos cron que quiero conservar?
    ¿Los trabajos cron de los otros complementos simplemente se crean nuevamente?

    Gracias por la información y un saludo
    Heike

    1. Hola Heike!
      Sí, en principio no eliminamos los cronjobs en sí, sino su ejecución ya planificada en el futuro. Luego, los complementos lo crean nuevamente sin que usted tenga que hacer nada. VG! Jens

  2. Hola, si puedo hacer una pregunta pequeña, espero que no demasiado compleja. Mi complemento de WordPress para enviar boletines ("The Newsletter") siempre me da una advertencia: "El horario interno de WodPress no se activa con la frecuencia suficiente. […]” en su pantalla de estado, todos los puntos son positivos excepto el punto “Llamadas cron” que tiene el mensaje “el sistema cron del blog NO se activa con la suficiente frecuencia Intervalo de activación: promedio 423 s, máximo 1550 s, mínimo 12 s”

    Como describiste, observé todo en WP-Control y el evento se ejecuta cada 5 minutos.

    ¿Tienes idea de lo que podría googlear? ¿O conoce tal comportamiento y tiene un enfoque directo?

    Gracias de antemano

    1. ¡Hola Ricardo! Probablemente tenga muy pocos visitantes en el blog para poder ejecutar el trabajo cron de manera confiable. Wordpress casi siempre usa visitantes para procesar el trabajo cron al mismo tiempo. La configuración de 5 minutos se proporciona en la tabla, es por eso que WP-Control lo muestra como tal, pero simplemente no se activa. Pero la solución es bastante simple: te registras con un servicio de trabajo cron externo como DoTheJob.de u otros (o usas el trabajo cron del alojamiento) y llamas a wp-cron.php automáticamente cada 2-5 minutos. La URL completa es entonces por ejemplo https://www.sir-apfelot.de/wp-cron.php – solo con tu dominio. VG! Jens

  3. hallo,
    gran complemento, gracias! Actualmente estoy creando el trabajo cron de una página en la llamada compatible con el servidor, es decir, con el cron de Wordpress desactivado.
    El complemento hizo un buen trabajo allí.
    Saludos, Jens

Escribe un comentario

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

En el Blog de Sir Apfelot encontrarás consejos, instrucciones y reseñas sobre productos de Apple como el iPhone, iPad, Apple Watch, AirPods, iMac, Mac Pro, Mac Mini y Mac Studio.

Especiales