Tareas programadas
  • 08 Feb 2024
  • 6 Minutos para leer

Tareas programadas


Article Summary

El proceso "cron" de Totara es un script PHP (parte de la instalación estándar de Totara) que debe ejecutarse regularmente en segundo plano. Se recomienda encarecidamente que la frecuencia de cron se establezca en al menos una vez por minuto. La secuencia de comandos de Totara cron ejecuta diferentes tareas en intervalos programados de manera diferente, que pueden ser configurados por un administrador del sitio.

No omitas la configuración del proceso cron en tu servidor para tu Totara. Tu sitio no funcionará correctamente sin él.

Un programa especial, "cron", se utiliza para ejecutar el script cron Totara a un intervalo regular. Totara cron script ejecuta tareas que incluyen enviar correo, actualizar informes de Totara, fuentes RSS, completar actividades, publicar mensajes de foros y otras tareas. Dado que las diferentes tareas tienen diferentes cronogramas, no todas las tareas se ejecutarán en Totara cuando se active el script cron.

El programa cron (que ejecuta el script Totara) es una parte central de los sistemas basados en Unix (incluidos Linux y OSX) que se utilizan para ejecutar muchos servicios dependientes del tiempo. En Windows, la solución más simple es crear una tarea en el Programador de tareas de Windows y configurarla para que se ejecute a intervalos regulares. En el alojamiento compartido, debes encontrar la documentación (o solicitar soporte) sobre cómo se configura cron.

La tarea implica añadir un solo comando a la lista de actividades cron en su sistema. En los sistemas basados en Unix, esta lista es un archivo llamado “crontab” que tienen todos los usuarios.

Comando Cron

Totara tiene dos formas diferentes de implementar cron que utilizan diferentes scripts dentro de la instalación de Totara. Estos son los siguientes:

  • El script CLI (intérprete de línea de comandos): Esto estará en la ruta /path/to/Totara/admin/cli/cron.php. En caso de duda, este es el script correcto que se debe usar. Esto debe ser ejecutado por un programa 'PHP CLI' en su computadora. El comando final puede parecer algo como /usr/bin/php /path/to/Totara/admin/cli/cron.php. Puedes (y deberías) intentarlo en tu línea de comandos para ver si funciona.
  • El script basado en la web: Esto debe ejecutarse desde un navegador web y se accederá a través de una URL web similar a http://your.totara.site/admin/cron.php. Puedes encontrar navegadores web basados en líneas de comandos (p. ej., wget), por lo que el comando final puede verse como /usr/bin/wget  http://your.totara.site/admin/cron.php. Esto tiene la ventaja de que se puede ejecutar desde cualquier lugar. Si no puedes hacer que cron funcione en tu máquina, se puede ejecutar en otro lugar.

UI del programador de Cron para administradores del sitio

Otra característica importante es la interfaz de usuario de cron scheduler para los administradores. Esto permite a los administradores saber qué tareas se ejecutan en el cron y resolver problemas cuando se ejecuta cada parte por última vez.

Los administradores del sitio pueden tomar el control de los procesos en segundo plano que se ejecutan en su sitio de Totara. Esta característica aporta visibilidad al cron de Totara, lo que facilita ver lo que está sucediendo, depurar procesos lentos o fallidos y tomar el control y optimizar el cron para un sitio en particular.

Utilice la función de programador ubicada en el menú  de acceso >rápido Tareas > programadas del servidor para mostrar una lista de tareas que son ejecutadas por cron. Esto incluye mostrar cuándo se ejecutó la tarea por última vez y cuándo se espera que se ejecute por próxima vez.

Cada tarea también puede configurarse para ejecutarse a la hora deseada en cualquier día deseado.

Los administradores del sistema con acceso a la línea de comandos también pueden ejecutar manualmente una sola tarea si es necesario al ejecutar admin/tool/task/cli/schedule_task.php con los argumentos requeridos.

Aquellos que ejecutan su sitio en un entorno alojado donde los cambios en el cron del sistema no pueden realizarse o deben pasar por un proceso de solicitud y aprobación también se benefician de la configuración dentro del producto.

Encontrar el lugar correcto para poner el mando

Esto depende del sistema que estés usando y debes encontrar y leer la documentación de tu plataforma o alojamiento. En la mayoría de los casos, hacer que el cron de Totara se ejecute consiste en establecer el comando correcto (arriba) y luego añadirlo a un archivo, y el tiempo para ejecutar el comando. Esto puede ser a través de una interfaz de usuario específica o editando el archivo directamente.

Si utiliza la versión CLI, también debe asegurarse de que el proceso cron se ejecute como el usuario correcto. Esto no es un problema con la versión web.

Ejemplo: Instalando cron en Ubuntu/Debian Linux. Asumiendo que inició sesión como raíz:

Utilice el comando crontab para abrir una ventana del editor de crontab para el usuario de www-data. Este es el usuario que Apache (el servidor web) ejecuta como en sistemas basados en Debian.

$ crontab -u www-data -e

Esto abrirá una ventana del editor. Para ejecutar el cli cron script cada minuto, añade la siguiente línea:

*/1 * * * * /usr/bin/php  /path/to/Totara/admin/cli/cron.php >/dev/null

Ten en cuenta que el >/dev/null final envía toda la salida al 'bin' y evita que recibas un correo electrónico cada minuto.

Ajustes recomendados 

En términos generales, aquellas tareas que se realizan a diario son aquellas a las que es más probable que deba prestar mucha atención, especialmente en sitios más grandes. Los impactos en el rendimiento dependerán de cuánta información se debe procesar cada vez que se ejecute esta tarea y a qué momento se está cambiando la tarea. Por ejemplo, cambiar una tarea por hora a una que se ejecuta cada 30 minutos podría estar bien, pero reducirla para que se ejecute cada minuto podría tener un impacto.

Se recomienda monitorear estos tiempos de tarea para detectar cualquier problema. Los registros cron le permitirán comprender el tiempo que lleva ejecutar una tarea en particular y, en función de estos ajustes, se puede realizar para mejorar el rendimiento del sitio.

Dado que todos los sitios difieren y el rendimiento cron depende del uso de varias características, es difícil ofrecer una configuración general o “ideal”.

Registrando cron

La salida de script cron se puede registrar mientras se ejecuta. Debe especificar la ruta a PHP y la ruta a donde desea que se escriba el archivo de registro. Para Windows necesitas configurar una tarea programada e incluir el comando . A continuación se muestran ejemplos de los comandos que se deben usar para cada sistema operativo:

  • Ejemplo de Unix/Linux: */1 * * * * /usr/bin/php /path/to/Totara/admin/cli/cron.php >> /var/log/cron.log 2>&1
  • Ejemplo de Windows: c:/php/php.exe -f c:/totara/admin/cli/cron.php > c:/totara/admin/cron.log

Para Windows, si tiene problemas para usar los comandos anteriores en un archivo de texto para registrar la salida de cron.php. Si este fuera el caso, puedes intentar usar barras invertidas como estas:

PHP
@echo off c:\php\php.exe -f c:\path\to\totara\admin\cli\cron.php >> c:\totara\admin\cron.log

Ejecute esto en un archivo por lotes, por ejemplo c:\\totara\\cron.cmd, y luego especifique la ruta de este archivo por lotes como la tarea a ejecutar.

Ten en cuenta que en el último ejemplo usamos un símbolo doble mayor que/flecha (>>) en lugar del único en el primer ejemplo (>). El símbolo doble significa que todos los registros cron se mantendrán en el archivo, en lugar de sobrescribirse. Sin embargo, esto puede significar que el archivo puede crecer bastante, por lo que es importante llevar nuestro mantenimiento regular y eliminar los datos no deseados.

Objetivo de las tareas programadas

Puedes encontrar detalles sobre el propósito de cada tarea programada en la página de ayuda del componente asociado (como se indica a continuación):

© Copyright 2024 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions. 


¿Te ha sido útil este artículo?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.