El servicio de cron de WordPress, un desconocido y necesario aliado. Entiende cómo funciona el servicio cron de WordPress, cómo afecta al rendimiento, por qué falla, cómo manejarlo, mejorarlo y dominarlo para el éxito de tu proyecto web.
WordCamp Las Palmas de Gran Canaria 2019
2. BIO
@fpuenteonline - Informático de vocación y de profesión,
formador ocasional y beginner de comer y beber.
Desde 1996 trabajando en TI, los últimos 12 en medios
de comunicación online y comercio electrónico
• Consultor Enterprise en SiteGround
• Consultor Desarrollo de Negocio en YITH
• CTO de Exprime Viajes y Dormir de Chollo
• Formador en Fundación COPE
• Consultor freelance especializado en performance
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
5. WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
Unix V6 - Dennis Ritchie/ Ken Thompson
6. WP-Cron
Mecanismo para ejecutar
tareas programadas o
pendientes
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
https://developer.wordvpress.org/plugins/cron/
7. WP-Cron: características
• Ejecuta una lista de tareas programadas.
• La tarea puede ser programada en cualquier intervalo
de tiempo.
• Se ejecuta en cada carga de página.
• Puede ser ejecutado externamente.
• Podemos añadir nuevas tareas programadas.
• Podemos eliminar tareas programadas.
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
11. WP-Cron: ejemplos
• Programar contenido a futuro
• Backups diarios
• Buscar actualizaciones del sistema
• Análisis de seguridad
• Enviar correos asíncronamente
• Importar productos o stock
• Enviar un sitemap
• Renovar una suscripción
• Vaciar la papelera
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
12. ¡Esto es una maravilla!
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
13. ¿Tiene truco?
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
14. WP-Cron: problemas
• Las tareas programadas no se ejecutan si no hay
visitas a la web: posibles fallos o funcionalidades
perdidas.
• Se ejecuta en cada visita a la web: gasto innecesario
de recursos o sobrecarga de servidor.
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
20. WP-Cron: recomendación
1. Desactivar el WP-Cron en WordPress (wp-config.php)
define('DISABLE_WP_CRON', true);
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
21. WP-Cron: recomendación
1. Desactivar el WP-Cron en WordPress (wp-config.php)
define('DISABLE_WP_CRON', true);
2. Activarlo con una llamada externa del sistema,
utilizando el servicio cron de un servidor
*/15 * * * * wget https://example.com/wp-cron.php
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
22. Comando cron
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
https://es.wikipedia.org/wiki/Cron_(Unix)
23. Llamada externa (4 ejemplos)
# Llamada externa
*/15 * * * * wget https://example.com/wp-cron.php?doing_wp_cron
# Alternativa con curl
*/15 * * * * curl https://example.com/wp-cron.php?doing_wp_cron
# Ejemplo con WP-CLI
*/15 * * * * cd /var/www/public_html; wp cron event run --due-now
# Ejemplo con PHP (no recomendado)
*/15 * * * * cd /var/www/public_html; php /var/www/public_html/wp-cron.php?
doing_wp_cron
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
24. Llamada externa (4 ejemplos)
# Llamada externa
*/15 * * * * wget https://example.com/wp-cron.php?doing_wp_cron
# Alternativa con curl
*/15 * * * * curl https://example.com/wp-cron.php?doing_wp_cron
# Ejemplo con WP-CLI
*/15 * * * * cd /var/www/public_html; wp cron event run --due-now
# Ejemplo con PHP (no recomendado)
*/15 * * * * cd /var/www/public_html; php /var/www/public_html/wp-cron.php?
doing_wp_cron
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
Intervalodetiempopersonalizadoparallamaralwp-cron.php
25. WP-Cron: recomendación
1. Desactivar el WP-Cron en WordPress (wp-config.php)
define('DISABLE_WP_CRON', true);
2. Activarlo con una llamada externa del sistema,
utilizando el servicio cron de un servidor
*/15 * * * * wget https://example.com/wp-cron.php
3. Carga condicional de los plugins no necesarios por el
wp-cron (opcional)
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
26. WP-Cron: recomendación
1. Desactivar el WP-Cron en WordPress (wp-config.php)
define('DISABLE_WP_CRON', true);
2. Activarlo con una llamada externa del sistema,
utilizando el servicio cron de un servidor
*/15 * * * * wget https://example.com/wp-cron.php
3. Carga condicional de los plugins no necesarios por el
wp-cron (opcional)
4. Limitar el acceso externo a wp-cron.php (opcional)
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
27. Cron externo: beneficios
• No se pierden programaciones por falta de visitas.
• Menor carga de trabajo del servidor.
• Reducir el número de ejecuciones de wp-cron por
días/horas (opcional).
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
28. Bonus track
WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
29. WP-Cron: ni contigo, ni sin ti – WordCamp Las Palmas de Gran Canaria 2019 - @fpuenteonline
Monitoriza los cron de tu sitio
30. “Let's be careful out there”
Fernando Puente
@fpuenteonline
Muchas gracias