Single Blog Title

This is a single blog caption
7
Maj

moodle i cron na home.pl

Moodle jako aplikacja serwerowa wymaga cyklicznego uruchamiania niektórych skryptówów, aby działać prawidłowo. Na przykład Moodle musi sprawdzać fora dyskusyjne, aby móc wysłać kopie postów osobom zapisanym na nie, przeprowadzać backup, sprawdzać status zapisania na kurs itd. itp.
Skrypt za to odpowiedzialny znajduje się w katalogu ‚admin’ w pliku cron.php.

http://twoja.instalacja.moodle/admin/cron.php

Nie jest on jednak w stanie uruchomić sam siebie, należy więc uruchamiać jakiś mechanizm, który wywoła plik cron.php z określoną częstotliwością. Jak to ładnie napisali autorzy dokumentacji Moodle: „Będzie to takie bicie serca całego serwisu, w rytm którego wspomniany skrypt może wykonywać funkcje w odstępach czasu zdefiniowanych w modułach.”

Zwrócić uwagę, że maszyna na której uruchomiony jest mechanizm ‚cron’ nie musi być tą samą maszyną, na której pracuje Moodle. Jeśli przykładowo host nie obsługuje mechanizmu ‚cron’, można uruchomić go na innym serwerze. Ważne jest jedynie, aby plik cron.php był wywoływany regularnie.

Obciążenie wprowadzane przez ten skrypt nie jest zbyt duże, więc 5 – 15 minut jest na ogół rozsądnym wyborem, ale jeśli chcesz możesz wydłużyć odstępy do piętnastu czy nawet trzydziestu minut. Najlepiej by było jednak, gdyby ten odcinek czasu nie był też zbyt długi, jako że opóźnienia w przesyłaniu wiadomości pocztą mogą ograniczyć aktywność na kursach.

Po pierwsze sprawdź, czy skrypt działa prawidłowo, poprzez uruchomienie go bezpośrednio z twojej przeglądarki :

http://twoja.instalacja.moodle/admin/cron.php

Teraz musisz spowodować, aby skrypt był uruchamiany automatycznie i regularnie.
No i właśnie dokumentacja moodle podaje tu różne rozwiązania związane głównie z administrowaniem serwerem. Nie mniej jednak wiele instancji moodle działa na serwerach dzierżawionych co wprowadza pewne utrudnienia.

Skupmy się więc na mechanizmach dostępnych w hostingu home.pl. Jak podaje sam dostawca możliwe jest przy wykupieniu nawet podstawowej opcji cykliczne uruchamianie skryptów.

W tym celu w głównym katalogu należy umieścić plik np. cron-15min.php, który zostanie wywołany, akurat w tym przypadku co 15 min i wykonane zostaną zawarte w nim instrukcje.

W celu uruchomienia crona moodle polecam wykorzystanie funkcji curl.

Tworzymy więc plik cron-15min.php i wklejamy :


podając oczywiście prawidłowy adres :

curl_setopt($c, CURLOPT_URL, "http://twoja.instalacja.moodle/admin/cron.php");

W zasadzie to wystarczy, nie mniej jednak dla osób chcących przetestować, czy cron działa polecam dokleić jeszcze :


i wrzucić na serwer pusty plik log.txt, w którym będziemy podglądać kiedy cron jest uruchamiany.

Podobało Ci się? Chcesz więcej?

Zostaw swój e-mail, bardzo chętnie przypomnę Ci o nowych treściach, a przy okazji dostaniesz e-booka o elearningu.

Poprzednie newslettery możesz znaleźć na stronie archiwum.

* indicates required