Der Aufgabenplaner von Joomla ist eine neue Ergänzung zum Kern von Joomla! 4.1. Das Joomla-Entwicklungsteam fügte ihn hinzu, damit sich wiederholende Aufgaben automatisieren lassen, Aufgaben die repetitiv sind, die man lieber nicht von Hand machen möchte.
Dies ist eine Übersetzung des Artikels «Get to know the new Joomla! Task Scheduler» von Brendan Hedges aus dem Joomla! Community Magazine 03/22 (Link zum Original)
Der Aufgabenplaner kann für eine Vielzahl von Wartungs- und Rapportaufgaben verwendet werden, er wird durch Plugins gesteuert und ist somit einfach durch weitere Plugins erweiterbar und anpassbar.
Der Aufgabenplaner führt eine Aufgabe, gemäss den Anweisungen eines zugehörigen Plugins über einen Cron-Job innerhalb der Joomla-Verwaltung aus.
Was ist ein Cron-Job? magst du fragen. Dazu im Folgenden mehr.
Was ist ein Cron Job?
Hast du jemals eine Joomla-Komponente installiert, nur um herauszufinden, dass du dann einen Cron-Job einrichten musst, damit sie vollständig in deinem Hosting-Kontrollzentrum funktioniert? Das haben wir alle.
Ein Cron-Job wird verwendet, um einen Teil des Betriebs der Komponente zu automatisieren. In der Regel handelt es sich dabei um eine sich wiederholende Aufgabe, die du lieber nicht händisch erledigen möchtst! Die meisten Webseiten-Betreiber, vergessen eh nach einer Weile, solche Aufgaben auszuführen. Mit der Folge, dass ihre Webseite nicht so gut im Schuss ist, wie sie es sein könnte.
Cron-Jobs werden im Allgemeinen verwendet, um E-Mail-Warteschlangen in Newslettersystemen zu bearbeiten, E-Commerce-Bestellungen mit einer Lieferplattform zu synchronisieren, den Cache zu leeren usw.
Ein Problem bei der Einrichtung eines Cron-Jobs auf Ihrem Server besteht darin, die Befehlszeile in der Systemsteuerung für den Cron-Job so zu formatieren, dass er regelmässig ausgelöst und auch ordnungsgemäss ausgeführt wird.
Achtung! Es braucht Kenntnisse über Linux-Befehle, bevor Cron-Jobs effektiv genutzt werden können. Prüfe dein Skript mit deinem Hoster, bevor du einen Cron-Job hinzufügst.
Weisst du, wo sich dein PHP-Ordner befindet? Wie lautet die vollständige URI der Cron-Datei?
Dies sind Dinge, die der Autor einer Komponente nicht wissen kann, weil sie von Hoster zu Hoster unterschiedlich sind.
Eine typische Cron-Befehlszeile besteht aus drei Teilen und könnte etwa so aussehen:
usr/local/bin/php /home/site1234/httpdocs/cli/cron.php
Der erste Teil ist der Pfad zu Ihrem PHP-Ordner, dann folgt ein zusätzliches Leerzeichen und schließlich die vollständige URI zum Skript, welches der Cron ausführen soll.
Dann müssen die Zeitpunkte festlegen, zu denen der Cron ausgeführt werden soll. Du musst entscheiden, wie häufig er ausgeführt werden soll, und die Frage muss geklärt sein, ob der Hoster überhaupt zulässt, dass er so häufig oder überhaupt ausgeführt wird? Einige Hoster schränken ihre Cron-Job-Zeitpläne ein, um die Ressourcen der Server zu schonen. Dies ist fast immer der Fall, wenn deine Webseite auf einem gemeinsam genutzten Server gehostet wird.
Bei einem VPS-Server oder einem dedizierten Server gibt es solche Einschränkungen in der Regel nicht, da alle Ressourcen des Servers dir gehören. Diese Server sind jedoch teurer als Shared Hosting, auf dem viele kleine Unternehmen und Privatpersonen ihre Websites betreiben.
Ein erfahrener Webentwickler versteht das, aber viele Menschen, die ihre eigene Website betreiben wollen, haben oft Probleme mit diesen Einstellungen. Sie wenden sich dann an den Support, der ihnen hilft, die Komponente richtig zum Laufen zu bringen.
Der neue Aufgabenplaner von Joomla nimmt Ihnen einen Teil dieser Mühe ab und zielt darauf ab, dass Sie auf Ihrer Website in einer vertrauten Umgebung bleiben. Anstatt sich bis zu den Ellbogen in die Schrauben und Muttern des Kontrollpanels Ihres Webservers zu stecken.
Task Scheduler Übersicht
Jetzt, wo wir wissen, was ein Cron-Job ist, wollen wir einen Blick auf einige der Funktionen von Joomla's Task Scheduler werfen, und auf einige der Dinge, die dies zu einer großartigen neuen Ergänzung der Kernfunktionen von Joomla! machen.
Der Aufgabenplaner ermöglicht es Ihnen, dem Website-Besitzer, webbasierte Cron-Jobs von einer Umgebung aus zu erstellen, mit der Sie bereits vertraut sind und in der Sie gerne arbeiten.
Finde den Task Scheduler
Du findest den Aufgabenplaner im System-Dashboard, das über das Hauptmenü im Abschnitt 'Verwalten' zu erreichen ist.
Wähle eine auszuführende Aufgabe
Wenn du den Aufgabenplaner öffnst und 'Neu' wählst, werden die aktuell installierten Aufgaben-Plugins angezeigt. Du kannst dann die Aufgabe auswählen, die du planen willst. Standardmäßig wird Joomla 4.1 mit 9 vorinstallierten Aufgaben-Plugins geliefert, einige davon sind nützlich. Andere sind mehr zur Demonstration gedacht.
Einige Erweiterungen installiert bringen ihre eigenen Plugins mit, z.B. Akeeba Backup, diese sind dann auch in der Liste wählbar.
Wähle eine Aufgabenoptionen
Die Optionen, die im neuen Aufgabenmenü des Plugins zur Verfügung stehen, vereinfachen die Einrichtung des Cron-Jobs und ermöglichen es Ihnen, auszuwählen, wie Sie den Cron-Job ausführen möchten. In den grundlegenden Feldern legen Sie die Häufigkeit der Ausführung des Cron-Jobs fest, und wenn der Cron-Job zusätzliche Einstellungen oder Optionen für die Ausführung benötigt, können Sie diese im Abschnitt Aufgabenparameter festlegen. Auf der Registerkarte Erweitert können Sie die Priorität des Cron-Jobs gegenüber anderen Aufgaben festlegen, die Sie ausführen möchten. Hier können Sie dem Plugin auch mitteilen, wie Sie benachrichtigt werden möchten, ob der Cron-Job erfolgreich ausgeführt wurde oder nicht.
Sobald Sie die Aufgabe eingerichtet haben, können Sie jederzeit zurückgehen und in denselben Einstellungsabschnitten ändern, wie die Aufgabe in Zukunft ausgeführt werden soll.
Anmerkung:
Es ist ratsam, Aufgaben sinnvoll zu planen, insbesondere auf einem gemeinsam genutzten Server. Ist es wirklich notwendig, jede Minute eine Aufgabe zur Grössenänderung eines Fotos einzustellen, wenn du normalerweise nur einen neuen Artikel pro Woche hinzufügst? Wenn mehrere Aufgaben laufen gelassen werden sollen, sollten die Startzeiten der Cron-Aufgaben gestaffelt werden.
Beispiel:
Aufgabe 1 wird jeden Montag um 11:30 Uhr ausgeführt.
Aufgabe 2 läuft jede Stunde zur vollen Stunde.
Aufgabe 3 läuft alle 4 Stunden und 18 Minuten
Durch die zeitliche Staffelung der Aufgaben wird Ihr Server weniger beansprucht, so dass die Serverressourcen für Ihre Website zur Verfügung stehen und Ihre Besucher mit einer schnellen Website zufrieden sind. Anstatt sich mit unnötigen Aufgaben im Hintergrund aufzuhalten.
Sie können die Aufgaben auch so einstellen, dass sie dann ausgeführt werden, wenn die Wahrscheinlichkeit, dass Ihre Website viele Besucher hat, geringer ist. Aufgaben am Abend auszuführen, wenn die meisten Leute zu Hause sind und im Internet surfen, ist wahrscheinlich unklug! Sie können die Aufgaben aber auch jederzeit manuell auslösen, wenn Sie es wünschen.
In den Optionen des Aufgabenplaners können Sie wählen, wie die Aufgaben ausgelöst werden sollen. Möchten Sie, dass sie so ausgeführt werden, wie in den Aufgabeneinstellungen angegeben? Oder ist es vielleicht eine Aufgabe, die ausgeführt werden muss, wenn jemand eine bestimmte Webseite besucht. Sie können sogar eine Web-Cron-URL einrichten, in der die ID der auszuführenden Aufgabe als Abfragezeichenfolge (&ID=1) festgelegt ist. Dies bedeutet, dass Sie die betreffende Aufgabe über einen externen Auslöser von einer anderen Website oder Anwendung aus starten können.
Viele Entwickler von Joomla-Erweiterungen werden Aufgaben-Plugins in ihre Erweiterungen integrieren, um Ihnen die Möglichkeit zu geben, bestimmte Aufgaben zu automatisieren. Zum Beispiel enthält die beliebte Joomla-Backup-Erweiterung Akeeba bereits Aufgaben-Plugins in ihren Pro-Versionen, um Crons für die Ausführung ihrer Backup-Prozesse einzustellen.
Entwerfe dein eigenes Aufgaben-Plugin
Aber Sie sind nicht auf das beschränkt, was Ihnen die etablierten Erweiterungsentwickler zur Verfügung stellen. Sie können Ihre eigenen Plugins entwickeln, um Ereignisse auszulösen, die Sie haben möchten. Die Aufgabenplanungs-Plugins folgen einer einfachen Plugin-Syntax, die es dem Aufgabenplaner ermöglicht, sich mit ihnen zu verbinden und die Befehle des Plugins auf Zuruf auszulösen. Allerdings müssen Sie über solide PHP-Kenntnisse verfügen, um die notwendigen Funktionen für die Ausführung Ihrer Aufgabe zu schreiben. Aufgabenplanungs-Plugins bieten Ihnen auch die Möglichkeit, die neuen API-Funktionen von Joomla einzubinden, die Ihrer Website ein völlig neues Funktionsniveau eröffnen.
Nachfolgend findest du ein Beispiel für den neuen Aufgabenplaner von Joomla, auf dem Sie Ihr nächstes Plugin aufbauen können:
Ideen für Aufgabenplaner-Plugins
Abgesehen von den Aufgaben-Plugins, die von Joomla-Komponenten-Autoren entwickelt wurden, gibt es Hunderte von anderen möglichen Anwendungen für den neuen Aufgabenplaner von Joomla. Begrenzt nur durch Ihre eigene Vorstellungskraft und Ihren Bedarf.
Hier ist eine Liste von 20 Ideen:
- Ändern der Größe von Bildern, die von Ihren Autoren hochgeladen wurden, damit das Design Ihrer Website konsistent bleibt.
- Ihre Sitemap automatisch neu generieren, um neue Artikel zu berücksichtigen.
- Ein Ping an Google, um mitzuteilen, dass Sie neue Inhalte veröffentlicht haben.
- Tägliche Übermittlung von Berichten über die Website-Aktivitäten.
- Automatisierte Aktualisierung von Komponenten.
- Teil- oder Voll-Backups zu automatisieren.
- E-Mails mit Daten, die du auf Ihr Google Drive hochgeladen haben, an Ihre Nutzer/Gruppen zu senden.
- Um dir einen Bericht über neue Nutzer zu senden.
- Um dir eine Liste der neuen Artikel/Beiträge/Kommentare zu schicken.
- Um Ihnen tägliche Protokolle von der Website zu schicken.
- Um diese Protokolle dann zu bereinigen und zu löschen.
- Um Artikel als Social-Media-Beiträge auf Ihre Social-Media-Kanäle hochzuladen.
- Automatisches Ändern der Farbschemata für die Website oder die Verwaltung im hellen/dunklen Modus.
- Wechsel der Website-Vorlagen je nach Jahreszeit (Weihnachten, Ostern, Neujahr usw.)
- Backup-Archive an einen Cloud-Speicher senden.
- Node.js neu starten, wenn du eine Anwendung haben, die node.js auf deinem Server verwendet.
- Sammeln von Informationen zum Systemzustand und diese senden per E-Mail.
- Besucherdaten an den Superuser senden.
- Überwachen und melden Sie die Betriebs- und Ausfallzeiten des Hostings.
- Sende relevante neue Artikel an verschiedene Benutzergruppen.
Wofür wirst du den neuen Aufgabenplaner von Joomla! verwenden?
Über den Autor dieses Artikels
Dieser Beitag wurde im Original von Brendan Hedges verfasst. Brendan betreibt eine kleine Web Agentur in Farnham Surrey (GB) und arbeitet fast ausschliesslich mit Joomla.