Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.
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 von bspw. FlowFact, onOffice oder anderen Systemen zu schauen und diese dann ggf. zu importieren.
Weitere Informationen zum Scheduler findest Du hier: Dokumentation zum TYPO3-Scheduler
Scheduler einrichten
In einem frisch installierten TYPO3-System ist die Scheduler-Erweiterung erst einmal nicht installiert. Wechsel daher in den Erweiterungs-Manager und installiere den Scheduler.
Hinweis:
Damit der Scheduler auch zu den später konfigurierten Zeiten seine Aufgaben ausführen kann, müsst Du einen System-CronJob einrichten, der wiederum den Scheduler aufruft. Wie Du diesen einrichten kannst, liest Du hier: Dokumentation zur Einrichtung eines TYPO3-Scheduler CronJobs.
Anschließend öffnest Du das Scheduler-Modul im Backend - Du findest dies im Abschnitt der System-Module.
Wechsel 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, wechselst Du wieder in die Ansicht Geplante Tasks und klickst auf den oberen Button um einen neuen Task zu erstellen.
In diesem Formular kannst Du nun die komplette Konfiguration für Deinen Scheduler-Task vornehmen.
- Als erstes musst Du die Klasse auswählen, die den Scheduler-Task bereitstellt. Dies ist in unserem Fall ein Eintrag Execute console command, bzw. Konsolenbefehle ausführen.
- Danach gibst Du 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.
- 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. Klick nun auf speichern und wechsel wieder in die Task-Übersicht.
Achtung: Gebe 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 findest Du 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-File via E-Mail zuschicken lassen.
Planer-Aufgabe für die Such-Aufträge ("openimmo_pro:searchrequests")
Der Scheduler für die Suchaufträge hat folgende Aufgaben:
- Wenn Suchaufträge fast abgelaufen sind, werden Erinnerungsmails verschickt, sodass ein Benutzer seinen Suchauftrag rechtzeitig verlängern kann.
- 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, dass 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, erkennst Du am Haus-Icon des Containers im Seitenbaum.
Planer-Aufgabe für den Import externer Daten ("openimmo:fetchdata")
Mit Hilfe der Planer-Aufgabe "fetchdata" kannst Du externe Daten im Openimmo-Format abrufen und dann importieren.
Gehe wie folgt vor:
- Lege eine Planer-Aufgabe "Konsohlenbefehl ausführen" an.
- Wähle "openimmo:fetchdata"
- Gib die URL (z. B. "https://wwww.beispiel.de/daten.xml") und die ID der Verbindung (Connection), für die Du die Daten importieren möchtest in die entsprechenden Konfigurationsfelder ein.
- Gib 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. Du musst 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.