Especialista en servidores y Hosting VPS
El cron de WordPress
/
RSS Feed
Dentro de los VPS nosotros tenemos y podemos usar un cronjobs que se encarga de esas tareas repetitivas que se van a ejecutar automáticamente en nuestro servidor. Pero WordPress también tiene el suyo y en este episodio vamos a entender un poco mejor que es y para que esta.
- El WP-CRON o Cron de WordPress
- Es un sistema integrado dentro del core
- Que maneja la programación de tareas basadas en el tiempo
- Por eso, al tratar de explicarlo se usa la metáfora de un reloj
- De fabrica realiza cuatro tareas programadas
- Comprueba si hay actualizaciones del core
- Comprueba si hay actualizaciones de los plugins
- Comprueba si hay actualizaciones de los themes
- Publica post programados
- Esta es la configuración original
- Pero los plugins también pueden utilizar el WP-CRON
- Y programar sus propias tareas adicionales basadas en el tiempo
- Por ejemplo el plugin de backup
- El WP-CRON trabaja por si mismo
- No necesita software externo y extras del lado del VPS
- Y al trabajar por si mismo usa también su mismo flujo:
- El hook init verifica en la BD en busca de eventos programados
- Si es hora del evento programado, genera una solicitud HTTP en el archivo wp-cron.php
- wp-cron.php procesa el hook asociado con la tarea programada
- WP-CRON funciona… Pero no es perfecto.
- No almacena en caché
- Ya que verifica eventos en cada carga
- Y esto puede ser un problema en sitio de alto trafico
- Por esto y para no cargar el VPS WordPress tiene un sistema de bloqueo
- Que evita llamadas a wp-cron.php
- Si no ha detectado nada programado en venir
- Y evita peticiones hasta por 1 minuto
- El WP-CRON se puede desactivar de forma muy sencilla
- Basta con copiar la siguiente linea en el wp-config.php
define( 'DISABLE_WP_CRON', true );
- Esta linea evitará que el WP-CRON
- Verifique los eventos cron programados en cada carga de la web
- Los plugins que usen WP-CRON seguirán funcionando
- Otra forma de hacerlo…
- Se puede combinar el WP-CRON con los cronjobs del VPS
- Gracias a WP-CLI
- Los cronjobs del VPS
- Se ejecutan en segundo plano
- Se ejecutan continuamente
- Y usan el reloj del sistema para programar tareas
- Esto es muy positivo porque los eventos programados nunca se pierden
- Podrías desde tu VPS y WP-CLI programar las tareas del WP-CRON desde el servidor
- Así se ejecutan aunque el sitio no tenga visitas
- Y tenes la seguridad que se ejecutaran justo en el minuto que debe ser
- Esto puede ser muy complejo
- Podés usar herramientas como
- Freshping
- Uptime
- Para enviar peticiones a tu WordPress
- Mantener despierto el WP-CRON
- Y de paso estar enterado si tu sitio se cae o dejar de estar accesible
- Y si queres estar al tanto de lo que ejecuta y lo que no el WP-CRON
- Podés usar el plugin: WP Control
- que te permite ver y controlar lo que sucede con el WP-CRON desde tu escritorio de WP
El WP-CRON es muy importante para el buen funcionamiento de nuestra web. Es bueno que hablemos de él y hagamos un repaso a sus funciones de vez en cuando. Pero también es bueno que sepamos que también el VPS tiene su propio cron que podemos combinar con WP-CRON.