Hola : Algo que puede ser de mucha utilidad, sugiero que se tome en cuenta y se incorpore en las versiones standares de moodle...
Tareas usualmente periódicas, tales como, las copias de respaldo (backup) de la base de datos de nuestra web, envio de notificación a través de email's, limpieza de directorios, depuración de tablas o archivos, impresiones de log's, etc., son dirigidas usando los cron jobs (trabajos periodicos programables, haciendo uso de comandos/script tipo : crontab, wget, pseudo-cron, etc).
Con los cron jobs, usted define, planifica, exactamente en el tiempo, cuando debe de ser ejecutada cierta orden, cuando se debe de ejecutar un comando o programa, etc..
Pero la mayoría de dueños, administradores de portales web, no pueden crear trabajos tipo cron jobs en el servidor web donde están alojados sus portales algunas veces, los proveedores exigen algún dinero adicional para eso o simplemente, por motivos de seguridad no te brindan ese servicio.
Lo único que es cierto, es que, normalmente se requieren de esos procesos periódicos y los mismos deben de ser programados para ser ejecutados en forma automática y así disponer por ejemplo, de la seguridad, de que contamos con una copia de respaldo de la Base de Datos.
Esto es donde pseudo-cron entra en juego: En cada petición de página (page request), se comprueba, si algún cron jobs debió de haber sido ejecutado, previo a la petición de página. Si de la comprobación, se define que hay una ejecución pendiente, entonces se ejecuta la orden programada y se graba la acción en un archivo log (si así ha sido configurado en el pseudo-cron).
Con esto, para los que su hosting no les permite configurar el cron, dejarían de depender del cron que se ejecuta desde una pc (ya podemos apagarla con la seguridad de que todo los trabajo programados, está siendo ejecutados, de acuerdo a como lo programaron)
Para que trabaje en moodle, colocar :
a nivel del index.php del moodle
lo sgte. :
. pseudo-cron.inc.php
. pseudo-cron-image.php
y el directorio :
/cronjobs/ con los sgts. archivos :
crontab.txt
pseudo-cron.log
---------------------------------------------------
pero antes de ello deberá efectuar algunos preparativos :
---------------------------------------------------
En el archivo : pseudo-cron.inc.php
Si desea que se le notifique por email, en las líneas sgtes. colocar la dirección correspondiente :
// Where to send cron results.
//$sendLogToEmail = "youraddess@mail.domain";
$sendLogToEmail = "fcallez@gmail.com";
-----------------------------------------------------
en el directorio del theme que esté usando (i.e. : moodle\theme\standardlogo), en el archivo : footer.html, añadir lo sgte :
<img src="pseudo-cron-image.php" width="1" height="1" alt="" />
y deberá que dar de la sgte. forma :
<!-- START OF FOOTER -->
<center>
<hr size="1" noshade="noshade" />
<p class="logininfo"><?php echo $loggedinas ?></p>
<p class="homelink"><?php echo $homelink ?></p>
<img src="pseudo-cron-image.php" width="1" height="1" alt="" />
</body>
</html>
-----------------------------------------------------
el archivo crontab.txt deberá contener :
#comments start with '#'
#mi h d m dow job comment
*/5 * * * * http://www.tuportal.xxx/moodle/admin/cron.php Modifica de acuerdo a tu web y a la frecuencia que desees - en este caso está configurado para que cada 5 minutos el cron.php se ejecute
-------------------------------------------------------
Vía FTP, verifica que el archivo : pseudo-cron.log
contenga información similar a lo sgte. :
Fri, 8 Jul 2005 02:59:30 +0200 Running */1 * * * * http://www.tuportal.xxx/moodle/admin/cron.php
Fri, 8 Jul 2005 02:59:30 +0200 Last run: Thu, 1 Jan 1970 01:00:00 +0100
Fri, 8 Jul 2005 02:59:30 +0200 Last scheduled: Thu, 1 Jan 1970 01:00:00 +0100
Fri, 8 Jul 2005 02:59:30 +0200 Completed */1 * * * * http://www.tuportal.xxx/moodle/admin/cron.php
Fri, 8 Jul 2005 03:02:08 +0200 Running */1 * * * * http://www.tuportal.xxx/moodle/admin/cron.php
Fri, 8 Jul 2005 03:02:08 +0200 Last run: Fri, 8 Jul 2005 02:59:30 +0200
Fri, 8 Jul 2005 03:02:08 +0200 Last scheduled: Fri, 8 Jul 2005 02:59:00 +0200
Fri, 8 Jul 2005 03:02:09 +0200 Completed */1 * * * * http://www.tuportal.xxx/moodle/admin/cron.php
--------------------------------------------------------
Gracias 'Juan José Talenti' (de Argentina) por la información proporcionada.
Espero que les sea de utilidad (Adjunto los archivos correspondientes..)
Atte.
Franklin Calle Zapata
Si desea ampliar la información :
http://www.bitfolge.de/pseudocron-en.html
http://www.innovavirtual.org/moodle_01/mod/forum/discuss.php?d=67#203