Planificar es traer el futuro al presente para que puedas hacer algo al respecto ahora.
Desde Joomla 4.1 tenemos disponible un planificador de tareas potente y flexible que nos permite automatizar muchas tareas de nuestro sitio fácilmente.
El planificador web de Joomla 4.1 es un proyecto que viene de la última edición del Summer of Code. La idea inicial era poder ofrecer la funcionalidad de cronjob o programación de tareas a aquellos clientes que no pueden usarla en su hosting.
El resultado ha sido algo mucho más interesante que combina flexibilidad, potencia y facilidad de uso en una funcionalidad que se convertirá en una de nuestras favoritas en poco tiempo.
El planificador web de Joomla 4.1 es una nueva extensión que viene en Joomla 4.1 y que nos permité gestionar las tareas que queremos que se ejecuten periódicamente en nuestro sitio Joomla. Si estás familiarizado con los cronjob o tareas programadas básicamente es una forma de poder gestionar estas tareas programadas aunque tu servidor no tenga esta funcionalidad.
Así, si tu usas habitualmente los cronjob o si tu servidor los permite, este planificador no es más que una bonita interfaz que te permite gestionar todas tus tareas programadas desde Joomla.
Para que el planificador de tareas funcione, es necesario que haya algo que "dispare" su funcionamiento de forma periódica. El planificador contempla 3 formas para que puedas activar su funcionamiento.
Esta es la forma más común de ejecutar una acción programada en cualquier sitio web. Básicamente tendremos una url que llamaremos periódicamente.
Para llamarla periódicamente podemos utilizar la funcionalidad de cronjob de nuestro servidor o servicios como easycron.com o similares.
El modo deferido del planificador de tareas es un modo de ejecución que se ejecuta con las visitas a tu sitio. Cada vez que un usuario accede a tu sitio se comprobaría si hay tareas por ejecutar y se ejecutarían en modo deferido.
Este modo también se conoce como pseudocron y otros CMS como WordPress lo incorporan por defecto también en su instalación.
Este modo de ejecución es el menos fiable de todos porque depende de las visitas que tengas en el sitio. Así por ejemplo si tienes una visita planificada cada hora pero no recibes ninguna visita al sitio en varias horas, la tarea no se ejecutará.
El modo de ejecución CLI del planificador de tareas es un modo de ejecución que se ejecuta cada vez que desde el propio servidor ejecutamos el comando PHP de ejecución de tareas del planificador.
Este es mi modo de ejecución de tareas cron preferido. Al ejecutarse directamente en mi servidor y sobre línea de comandos tiene dos ventajas fundamentales:
Para ejecutar el planificador de tareas desde el CLI de Joomla el comando que tenemos que utilizar es:
php joomla.php scheduler:run
Esto ejecutará todas las tareas pendientes de ejecutar en el momento en que se ejecute. Una configuración estándar que funcionaría en la mayoría de los casos sería planificar este comando para que se ejecute en un cronjob cada 5 minutos. Con esto, cada 5 minutos se comprobarán las tareas que necesitan ser ejecutadas y se ejecutarán.
Ten en cuenta que aunque configuremos el cronjob del servidor para funcionar cada 5 minutos, esto sólo comprobará el estado de las tareas. La verdadera periodicidad de las tareas la definiremos en el planificador de tareas de Joomla para cada tarea.
Para añadir una tarea planificada en Joomla tendremos que ir a la zona de Sistema -> Planificador de tareas y ya estaremos en el planificador.
Al pinchar en el botón para añadir una nueva tarea, podremos elegir el tipo de tarea que queremos definir.
En Joomla vienen ya definidas varios tipos tareas programadas que ahora mismo cubren todas las necesidades que puedas tener: Poner el sitio en mantenimiento, sacar el sitio de mantenimiento, ejecutar una petición GET, Redimensionar imágenes del sitio.
Es de esperar que los desarrolladores vayan creando tipos de tareas programadas para sus extensiones y para cosas más concretas, pero mientras que esto sucede, lo que podemos hacer es utilizar el tipo de tarea que realiza la petición GET. Esta tarea nos permite hacer una llamada a una URL y con esto emular a un webcron.
¿Usas los cronjobs (tareas programadas) en tu sitio? ¡Déjanos un comentario!
MastermindJoomla.com es un proyecto de
y 
Comentarios gracias a CComment