Programar tareas
  • 26 Apr 2022
  • 6 Minutos para leer

Programar tareas


Article Summary

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

No omitas configurar el proceso cron en tu servidor para tu Totara. Su centro no funcionará correctamente sin él.

Un programa especial, 'cron', se utiliza para ejecutar el script de Totara cron a intervalos regulares. El script de Totara cron 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 programas, no todas las tareas se ejecutarán en Totara cuando se active el script cron.

El programa cron (que ejecuta el script de 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, debe encontrar la documentación (o preguntar al soporte) cómo se configura cron.

La tarea implica agregar 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 maneras diferentes de implementar cron que utilizan diferentes scripts dentro de la instalación de Totara. Estos son los siguientes:

  • El guión de CLI (intérprete de línea de comandos): Esto estará en la ruta /path/to/Totara/admin/cli/cron.php. Si tiene dudas, este es el guión correcto para usar. Esto debe ejecutarse mediante un programa de 'PHP CLI' en su computadora. El comando final puede parecerse a /usr/bin/php /path/to/Totara/admin/cli/cron.php. Puede (y debe) probar esto en su línea de comandos para ver si funciona.
  • El guión basado en la web: Esto debe ejecutarse desde un navegador web y se accederá a él a través de una URL web similar a http://your.totara.site/admin/cron.php. Puede 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 puede conseguir que cron trabaje en su máquina, puede ejecutarse en otro lugar.

IU del programador Cron para administradores del sitio

Otra característica importante es la interfaz de usuario del programador cron para administradores. Esto permite a los administradores saber qué tareas ejecuta el cron y solucionar los problemas cuando cada parte se ejecutó por última vez.

Los administradores del sitio pueden tomar el control de los procesos en segundo plano que se ejecutan para su sitio de Totara. Esta función aporta visibilidad al cron de Totara, lo que facilita ver lo que sucede, depurar procesos lentos o fallidos, y tomar el control y optimizar el cron para un sitio en particular.

Utilice la función del programador ubicada en el menú  Acceso >rápido Tarea>s programadas del servidor para mostrar una lista de tareas que ejecuta cron. Esto incluye mostrar cuándo se ejecutó la tarea por última vez y cuándo se espera que se ejecute a continuación.

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 ejecutando admin/tool/task/cli/schedule_task.php con los argumentos requeridos.

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

Encontrar el lugar correcto para colocar el comando

Esto depende del sistema que esté utilizando y debe encontrar y leer la documentación de su 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 agregarlo, y el tiempo para ejecutar el comando, a un archivo. 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: Instalación de cron en Ubuntu/Debian Linux. Suponiendo 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 los sistemas basados en Debian.

$ crontab -u www-data -e

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

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

Tenga en cuenta que el >/dev/null final envía toda la salida a la 'bin' y le impide recibir un correo electrónico cada minuto.

Configuración recomendada 

En términos generales, aquellas tareas que se ejecutan a diario son las que es más probable que deba prestar mucha atención, especialmente en sitios más grandes. Los impactos en el desempeño dependerán de cuánta información se deba procesar cada vez que se ejecute esta tarea y a qué momento se cambie la tarea. Por ejemplo, cambiar una tarea por hora a una que se ejecute 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 tareas para detectar cualquier problema. Los registros cron proporcionarán una comprensión del tiempo que se tarda en ejecutar una tarea en particular y, en función de esto, se pueden realizar ajustes para mejorar el rendimiento del sitio.

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

Cron de registro

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

  • Ejemplo de Unix/ Linus: */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 es el caso, puede intentar usar pestañas postizas como esta:

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 que se ejecutará.

Tenga en cuenta que en el último ejemplo usamos un símbolo de doble mayor que/flecha (>>) en lugar del único en el primer ejemplo (>). El símbolo doble significa que todos los registros cron se conservará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 limpiar los datos no deseados.

Propósito de las tareas programadas

Puede 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.