Einrichtung der Planer-Aufgaben (Scheduler-Tasks)/CronJob

Scheduler (Planer)

Der Scheduler (auch Planer genannt) ist eine TYPO3-Systemerweiterung und wird für die zeitliche Ausführung von Aufgaben und Aktionen verwendet. Daher verwendet auch die OpenImmo-Erweiterung den Scheduler, um regelmäßig nach neuen Import-Dateien zu schauen und diese dann ggf. zu importieren.

Weitere Informationen zum Scheduler finden Sie hier: Dokumentation zum TYPO3-Scheduler

Scheduler einrichten

In einem frisch installierten TYPO3-System ist die Scheduler-Erweiterung erst einmal nicht installiert. Wechseln Sie daher in den Erweiterungs-Manager und installieren Sie den Scheduler.

Scheduler-Erweiterung installieren

Hinweis:

Damit der Scheduler auch zu den später konfigurierten Zeiten seine Aufgaben ausführen kann, müssen Sie einen System-CronJob einrichten, der wiederum den Scheduler aufruft. Wie Sie diesen einrichten können, lesen Sie hier: Dokumentation zur Einrichtung eines TYPO3-Scheduler CronJobs.

Anschließend öffnen Sie das Scheduler-Modul im Backend - Sie finden dies im Abschnitt der System-Module. Scheduler-Modul öffnen

Wechseln Sie dann in die Ansicht Konfiguration prüfen, um zu prüfen ob der Scheduler schon einsatzbereit ist.

Planer-Aufgabe für den Import ("openimmo:import")

Wenn der Scheduler korrekt konfiguriert ist, wechseln Sie wieder in die Ansicht Geplante Tasks und klicken Sie auf den oberen Button um einen neuen Task zu erstellen. Scheduler-Modul Ansicht wechseln

Scheduler Task anlegen

In diesem Formular können Sie nun die komplette Konfiguration für Ihren Scheduler-Task vornehmen. Scheduler Task anlegen - Formular

  1. Als erstes müssen Sie die Klasse auswählen, die den Scheduler-Task bereitstellt. Dies ist in unserem Fall ein Eintrag Execute console command, bzw. Konsolenbefehle ausführen.
  2. Danach geben Sie an, in welchen Intervallen der Scheduler nach neuen Import-Daten schauen soll. Dieses Intervall wird in Sekunden angegeben. Da uns eine stündliche Prüfung reicht, geben wir (60sek * 60min) 3600 ein.
  3. Als letztes muss noch angegeben werden, welches der im System verfügbaren Console-Commands ausgeführt werden soll - das ist in unserem Fall openimmo:import : Import records for the openimmo extension. Klicke Sie nun auf speichern und wechseln Sie wieder in die Task-Übersicht.

Achtung: Geben Sie hier nicht zu wenig Zeit ein, da je nach Anzahl der zu importierenden Daten und Performance des Systems der Scheduler-Task auch mal ein paar Minuten laufen kann. Das hier eingegebene Intervall sollte auch nicht geringer sein, als das beim System-CronJob angegebene Intervall.

Hinweis:

Sollte der Import einmal fehlschlagen, so finden Sie im Verzeichnis uploads/tx_openimmo/connection-id/log/ (sofern aktiviert) Log-Files zu jedem Import-Vorgang. Benutzer der Pro-Version können sich dieses Log via E-Mail zu schicken lassen.

Planer-Aufgabe für die Such-Aufträge ("openimmo_pro:searchrequests")

Der Scheduler für die Suchaufträge hat folgende Aufgaben:

  1. Wenn Suchaufträge fast abgelaufen sind, werden Erinnerungsmails verschickt, so dass ein Benutzer seinen Suchauftrag rechtzeitig verlängern kann.
  2. Für die vorhandenen Suchaufträge wird bei jeder Ausführung des Schedulers geprüft, ob es passende Immobilien gibt. Wenn es passende Immobilien gibt, so erhält der Benutzer eine entsprechende Benachrichtiungsmail.

Hinweis:

Damit dieser Scheduler seine erforderlichen Daten richtig verarbeiten kann, ist es notwendig das der OpenImmo-Datensatzcontainer mit 'Enthält Erweiterung' OpenImmo - Immobilien markiert wird. Dies geschieht in den Seiten-Eigenschaften des Containers auf dem Tab Verhalten. Dass diese Eigenschaft erfolgreich ausgewählt wurde, erkennen Sie am Haus-Icon des Containers im Seitenbaum.

Planer-Aufgabe für den Import externer Daten ("openimmo:fetchdata")

Mit Hilfe der Planer-Aufgabe "fetchdata" können Sie externe Daten im Openimmo-Format abrufen und dann importieren.

Gehen Sie wie folgt vor:

  1. Legen Sie eine Planer-Aufgabe "Konsohlenbefehl ausführen" an.
  2. Wählen Sie "openimmo:fetchdata"
  3. Geben Sie die URL (z. B. "https://wwww.beispiel.de/daten.xml") und die ID der Verbindung (Connection), für die Sie die Daten importieren möchten in die entsprechenden Konfigurationsfelder ein.
  4. Geben Sie das gewünschte Intervall ein.

Diese Planer-Aufgabe holt die XML-Datei von dem entfernten Server und legt sie im Import-Verzeichnis der gewählten Verbindung ab. Der Import selbst findet nicht automatisch statt, d. h. Sie müssen zusätzlich die "Import"-Aufgabe konfigurieren, wie oben beschrieben.

Hinweis:

Die URL muss nicht unbedingt mit ".xml" enden, allerdings müssen die dort abgerufenen Daten im XML-Format (genauer: im openimmo-XML-Format) vorliegen.

Die Planer-Aufgabe verwendet "curl", um die Daten abzurufen, dies muss also auf dem Server zur Verfügung stehen.