Cron-Job zu groß? Was ist das denn?

Cron-Job zu groß? Was ist das denn?

von Jan Schmidt -
Anzahl Antworten: 3
Liebe Mit-Moodler, 1. mein Cron-Job ist zu groß. 2. Was macht der überhaupt? 3. Wie kann so etwas zu groß werden? 4. Bekomme ich das ohne größere Eingaben in irgendwelchen Skripten elegant gelöst? Danke für Eure Hilfe! Jan
Mittelwert:  -
Als Antwort auf Jan Schmidt

Re: Cron-Job zu groß? Was ist das denn?

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Lustig!
lächelnd

> 1. mein Cron-Job ist zu groß.

Wer sagt das? Oder, woran merkst du das?

> 2. Was macht der überhaupt?

Moodle Docs besagt, "The Moodle cron script runs different tasks at differently scheduled intervals." https://docs.moodle.org/en/Cron. Die "Tasks" (Aufgaben) sind allerlei. Alles was Moodle nicht sofort machen muss, d.h. wo der Nutzer nicht gleich die Resultate der vorherigen Anfrage braucht um weiter zu fahren, tut Moodle in den Hintergrund. Das einfachste Beispiel ist ein Forummail, welches eine Editierzeit abwarten soll.

Jemand muss den Cron-Prozess, konkret moodle/admin/cli/cron.php, laufend wecken, damit dieser Script suchen geht was gemacht werden soll und die dann auch erledigt, oder weiter aufschiebt.

> 3. Wie kann so etwas zu groß werden?

Je nach dem was die Site verlangt und was der Server kann, kann es schon mal zu viel werden, oder nicht?

> 4. Bekomme ich das ohne größere Eingaben in irgendwelchen Skripten elegant gelöst?

Die Idee ist nicht, dass man dann Teile vom Script löscht. Wie unter https://docs.moodle.org/en/Scheduled_tasks beschrieben, kann man einzelne Aufgaben (Tasks) vorübergehend abstellen. Wenn der Rest rund läuft die dann wieder einschalten. Aber Physik geht vor. D.h. wenn die Leistung der Server für die anfallenden Aufgaben zu schwach ist, dann wirst du schön von einer Baustelle zur anderen Laufen. Natürlich gibt es situationen dass es wenige oder fehlerhafte Aufgaben die ganze Warteschlange blockert. Wenn so was vorliegt, musst du tiefer graben, die Ursache finden, usw.
Als Antwort auf Visvanath Ratnaweera

Re: Cron-Job zu groß? Was ist das denn?

von Friedhelm Küppers -
Nutzerbild von Besonders aktive Moodler
Hallo Jan,

die Administration für den Server kann hier den TimeOut erhöhen, das heißt, die Zeit wann ein Prozess abgebrochen wird um den Server nicht zu überlasten. Wenn nun Moodle so viele Taks zu verarbeiten hat, z.B. Versendung von E-Mails die in die tausenden geht, versucht der gestartete Cron dies zu verarbeiten. Ist nun der TimeOut auf z.B. 2 Minuten eingestellt, bricht der Cron-Prozess ab. Normalerweise laufen die Cron-Prozesse in Sekunden durch. Wir hatten mal eine Situation wo eine große Schule die Einstellungen so gestaltet hatte, das eine Mail zur gleichen Zeit rund 10.000 mal versendet werden sollte. Das war dann zu viel des guten.

Im Cron-Protokoll kann man sehen, wo das ganze abgebrochen wurde. Man muss dann entscheiden, den TimeOut zu erhöhen (Vorsicht!!! belastet den Server) oder (besser!!!) schauen, wie kann ich da etwas in Moodle optimieren.

Viele Grüße
Friedhelm
Als Antwort auf Friedhelm Küppers

Re: Cron-Job zu groß? Was ist das denn?

von Jan Schmidt -
Hallo, Friedhelm,

ah, das hat sehr geholfen.

Lustigerweise habe ich jetzt die Cronjobs zu Fuß angestoßen, nun sind sie ohne Probleme durchgelaufen -- mal sehen, woran es gelegen hat.

Danke auf jeden Fall!

Viele Grüße
Jan