Aufgaben planen
  • 11 Apr 2023
  • 5 Minuten zu lesen

Aufgaben planen


Article Summary

Der Totara 'cron'-Prozess ist ein PHP-Skript (Teil der Standardinstallation von Totara), das regelmäßig im Hintergrund ausgeführt werden muss. Es wird dringend empfohlen, die Häufigkeit von Cron mindestens einmal pro Minute einzustellen. Das Totara Cron-Skript führt verschiedene Aufgaben in unterschiedlich geplanten Intervallen aus, die von einem Site-Administrator konfiguriert werden können.

Überspringen Sie nicht die Einrichtung des Cron-Prozesses auf Ihrem Server für Ihr Totara. Ihre Website funktioniert ohne sie nicht richtig.

Ein spezielles Programm, 'cron', wird verwendet, um das Totara Cron-Skript in einem regelmäßigen Intervall auszuführen. Das Totara Cron-Skript führt Aufgaben aus, einschließlich des Sendens von E-Mails, der Aktualisierung von Totara-Berichten, RSS-Feeds, des Abschlusses von Aktivitäten, des Postens von Forumsnachrichten und anderer Aufgaben. Da verschiedene Aufgaben unterschiedliche Zeitpläne haben, wird nicht jede Aufgabe in Totara ausgeführt, wenn das Cron-Skript ausgelöst wird.

Das Cron-Programm (das das Totara-Skript ausführt) ist ein Kernteil von Unix-basierten Systemen (einschließlich Linux und OSX), die zur Ausführung vieler zeitabhängiger Dienste verwendet werden. Unter Windows ist es am einfachsten, eine Aufgabe im Windows Task Scheduler zu erstellen und sie in regelmäßigen Abständen auszuführen. Beim gemeinsamen Hosting sollten Sie die Dokumentation finden (oder um Unterstützung bitten), wie Cron konfiguriert ist.

Die Aufgabe beinhaltet das Hinzufügen eines einzelnen Befehls zur Liste der Cron-Aktivitäten auf Ihrem System. Auf Unix-basierten Systemen ist diese Liste eine Datei namens 'Crontab', die alle Nutzer haben.

Cron-Befehl

Totara bietet zwei verschiedene Möglichkeiten, Cron bereitzustellen, die unterschiedliche Skripte innerhalb der Totara-Installation verwenden. Diese sind wie folgt:

  • Das CLI-Skript (Befehlszeilen-Interpreter): Dies erfolgt auf dem Pfad /path/to/Totara/admin/cli/cron.php. Im Zweifelsfall ist dies das richtige Skript. Dies muss von einem 'PHP CLI'-Programm auf Ihrem Computer ausgeführt werden. Der letzte Befehl kann so aussehen wie /usr/bin/php /path/to/Totara/admin/cli/cron.php. Sie können (und sollten) dies in Ihrer Befehlszeile versuchen, um zu sehen, ob es funktioniert.
  • Das webbasierte Skript: Diese muss über einen Webbrowser ausgeführt werden und wird über eine Web-URL wie http://your.totara. aufgerufensite/admin/cron.php. Sie finden befehlszeilenbasierte Webbrowser (z. B. wget), sodass der letzte Befehl wie /usr/bin/wget http://your.totara. aussehen kannsite/admin/cron.php. Dies hat den Vorteil, dass es von überall aus ausgeführt werden kann. Wenn Sie Cron nicht auf Ihrem Computer arbeiten lassen können, kann es an anderer Stelle ausgeführt werden.

Cron Scheduler UI für Site-Administratoren

Eine weitere wichtige Funktion ist die Cron Scheduler-Benutzeroberfläche für Administratoren. Dies ermöglicht es Administratoren, zu wissen, welche Aufgaben das Cron ausgeführt wird, und Fehler zu beheben, wann jedes Teil zuletzt ausgeführt wurde.

Site-Administratoren können die Kontrolle über die Hintergrundprozesse für ihre Totara-Website übernehmen. Diese Funktion bietet Sichtbarkeit für das Totara Cron, was es einfacher macht, zu sehen, was vor sich geht, langsame oder fehlgeschlagene Prozesse zu debuggen und die Kontrolle über und Optimierung von Cron für eine bestimmte Website zu übernehmen.

Verwenden Sie die Personaleinsatzplaner-Funktion im Schnellzugriffsmenü > Server Ge>plante Aufgaben, um eine Liste der Aufgaben anzuzeigen, die von Cron ausgeführt werden. Dies beinhaltet die Anzeige, wann die Aufgabe zuletzt ausgeführt wurde und wann sie als nächstes ausgeführt werden soll.

Jede Aufgabe kann auch so konfiguriert werden, dass sie zur gewünschten Zeit an jedem gewünschten Tag ausgeführt wird.

Systemadministratoren mit Befehlszeilenzugriff können bei Bedarf auch manuell eine einzelne Aufgabe ausführen, indem sie admin/tool/task/cli/schedule_task.php mit den erforderlichen Argumenten ausgeführt werden.

Diejenigen, die ihre Website in einer gehosteten Umgebung betreiben, in der keine Änderungen am System-Cron vorgenommen werden können oder einen Anfrage- und Genehmigungsprozess durchlaufen müssen, profitieren auch von der produktinternen Konfiguration.

Den richtigen Ort finden, um den Befehl zu platzieren

Dies hängt von dem System ab, das Sie verwenden, und Sie sollten die Dokumentation für Ihre Plattform oder Ihr Hosting finden und lesen. In den meisten Fällen besteht die Ausführung des Totara Cron darin, den richtigen Befehl (oben) festzulegen und ihn dann und die Zeit für die Ausführung des Befehls zu einer Datei hinzuzufügen. Dies kann entweder über eine bestimmte Benutzeroberfläche oder durch direkte Bearbeitung der Datei erfolgen.

Wenn Sie die CLI-Version verwenden, müssen Sie auch sicherstellen, dass der Cron-Prozess als der richtige Nutzer ausgeführt wird. Dies ist kein Problem mit der Webversion.

Beispiel: Cron wird unter Ubuntu/Debian Linux installiert. Angenommen als Root angemeldet:

Verwenden Sie den Befehl Crontab, um ein Crontab-Editorfenster für den www-data-Nutzer zu öffnen. Dies ist der Nutzer, den Apache (der Webserver) wie auf Debian-basierten Systemen ausführt.

$ crontab -u www-data -e

Dadurch wird ein Editor-Fenster geöffnet. Um das cli cron-Skript jede Minute auszuführen, fügen Sie die folgende Zeile hinzu:

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

Beachten Sie, dass der letzte >/dev/null alle Ausgaben an den 'Bin' sendet und verhindert, dass Sie jede Minute eine E-Mail erhalten.

Empfohlene Einstellungen 

Im Allgemeinen sind die Aufgaben, die täglich ausgeführt werden, diejenigen, auf die Sie eher achten müssen, insbesondere auf größeren Websites. Die Auswirkungen auf die Leistung hängen davon ab, wie viele Informationen jedes Mal verarbeitet werden müssen, wenn diese Aufgabe ausgeführt wird, und zu welchem Zeitpunkt Sie die Aufgabe ändern. Zum Beispiel könnte es in Ordnung sein, eine stündliche Aufgabe in eine Aufgabe zu ändern, die alle 30 Minuten ausgeführt wird, aber die Reduzierung der Aufgabe auf jede einzelne Minute könnte Auswirkungen haben.

Es ist ratsam, diese Aufgabenzeiten auf Probleme zu überwachen. Die Cron-Protokolle geben ein Verständnis für die Zeit, die für die Ausführung einer bestimmten Aufgabe benötigt wird, und basierend auf diesen Anpassungen kann die Websiteleistung verbessert werden.

Da sich alle Websites unterscheiden und die Cron-Leistung von der Nutzung verschiedener Funktionen abhängt, ist es schwierig, eine allgemeine oder „ideale“ Konfiguration anzubieten.

Protokollierung Cron

Die Cron-Skriptausgabe kann während der Ausführung protokolliert werden. Sie müssen den Pfad zu PHP und den Pfad angeben, zu dem die Protokolldatei geschrieben werden soll. Für Windows müssen Sie eine geplante Aufgabe einrichten und den Befehl hinzufügen. Nachfolgend finden Sie Beispiele für die Befehle, die für jedes Betriebssystem verwendet werden sollen:

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

Wenn Sie unter Windows Probleme haben, die obigen Befehle in einer Textdatei zur Protokollierung der Ausgabe von cron.php zu verwenden. Sollte dies der Fall sein, können Sie alternativ versuchen, Backslashes wie folgt zu verwenden:

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

Führen Sie dies in einer Batchdatei aus, z. B. c:\\totara\\cron.cmd, und geben Sie dann den Pfad dieser Batchdatei als die auszuführende Aufgabe an.

Bitte beachten Sie, dass wir im letzten Beispiel ein Doppelzeichen größer/Pfeil (>>) anstelle des Einzelzeichens im ersten Beispiel (>) verwendet haben. Das Doppelsymbol bedeutet, dass alle Cron-Protokolle in der Datei gespeichert werden, anstatt überschrieben zu werden. Dies kann jedoch bedeuten, dass die Datei recht groß werden kann. Daher ist es wichtig, unsere regelmäßige Wartung durchzuführen und unerwünschte Daten zu löschen.

Zweck der geplanten Aufgaben

Details zum Zweck jeder geplanten Aufgabe finden Sie auf der zugehörigen Komponenten-Hilfeseite (wie unten aufgeführt):

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


War dieser Artikel hilfreich?

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.