Anleitung: Eigene Cronjob-Klasse erstellen (PHP)

Das nachfolgende Beispiel-Script repräsentiert die Umsetzung eines einfachen Cronjobs, der nichts weiter zu tun hat, als täglich das Protokollverzeichnis zu leeren. Dazu erstellen wir zu allererst eine neue Datei im Verzeichnis "src/Cronjobs/" mit dem Namen "Test.php".


Zu beachten ist hierbei, dass die Datei den selben Namen erhalten muss wie die Klasse, die sie später enthalten soll. In diesem Fall enthält also die Datei "Test.php" auch die Klasse "Test". Das folgende Beispiel-Script enthält unter anderem Deklarationen und greift auf Objekte zu, die im Quellcode nicht näher erläutert werden. Eine Liste von nützlichen Funktionen, welche von den Elternklassen vererbt werden und die ihr nutzen könnt, wird sobald als möglich veröffentlicht.




Im Großen und Ganzen war es das schon. Selbstverständlich handelt es sich hier nur um ein relativ simples Beispiel, das euch lediglich verdeutlichen soll, wie eine solche Klasse aufgebaut ist. Um den Cronjob nun auch wie gewünscht zur Ausführung zu bringen, meldet euch nun als Super Administrator in eurem TSI an, wechselt in die TSI-Einstellungen und klickt auf den Menüpunkt "Cronjobs". In der Cronjob-Verwaltung angelangt wollen wir nun die neue Aufgabe hinzufügen. Klickt dazu oben rechts auf den Button "Cronjob hinzufügen" und füllt die Felder wiefolgt dargestellt aus:



Sobald ihr alle Felder ausgefüllt habt, klickt auf den Button "Speichern" am untern Rand des Fensters. Solltet ihr alles richtig gemacht haben, erscheint nun eine Erfolgsmeldung, wenn nicht sagt euch das TSI unter Umständen woran es liegt. Für das Feld "Cron-Zeitsteuerung" könnt ihr neben der bekannten Crontab-Formatierung (z. B. * * * * * für minütlich), auch noch folgende Parameter verwenden:

  • @hourly = stündlich
  • @daily = täglich
  • @weekly = wöchentlich
  • @monthly = monatlich
  • @yearly = jährlich


EXKURS: Bei den Methoden einer Cronjob-Klasse wird bisher zwischen zwei Arten unterschieden, die einfachen Cronjobs, diese benötigen lediglich einen Parameter wie auch im o. g. Beispiel und die erweiterten Cronjobs, welchen neben den Zeitinformationen auch noch die Node der Teamspeak 3 Instanzen übergeben wird. Hier noch einmal im Detail:

Wie zu erkennen ist, kann mit der erweiterten Methode auf die verschiedenen Teamspeak 3 Instanzen zugegriffen werden, welche der Cronjob alle durchläuft, insofern eure Klasse eine erweiterte Cronjob-Methode besitzt und diese der Cronjob-Verwaltung erfolgreich hinzugefügt wurde. Die Methoden, auf die ihr mit einer übergebenen Instanz der Klasse "Teamspeak3_Node_Host" zugreifen könnt erfahrt ihr in der API Dokumentation des Teamspeak 3 Frameworks unter folgendem Link https://docs.planetteamspeak.c…speak3___node___host.html

    Kommentare