Aufgabenplaner für Exporte einrichten
Ihre Aufgabe/Ausgangslage
Exporte automatisieren
- Öffnen Sie den Aufgabenplaner im Backend von JTL-Shop über das Menü Administration > Export > Exporte-Manager.
- Klicken Sie auf die Schaltfläche Neue Aufgabe erstellen. Es öffnet sich die Seite Exportformate.
- Wählen Sie über das Dropdown-Menü Exportformate das Format aus, das erstellt werden soll.
- Legen Sie anschließend unter Startdatum den Zeitpunkt fest, an dem der erste Export stattfinden soll und unter Alle X Stunden, wie oft der Export wiederholt werden soll. Das Startdatum muss das folgende Format haben: dd.mm.yyyy hh.mm.
- Klicken Sie auf Neue Aufgabe erstellen. Sie gelangen zurück zur Seite Aufgabenplaner Exporte. Dort wird Ihre neu erstellte Planung aufgelistet.
Exporte anstoßen
Automatisch
Der Aufgabenplaner kann auch automatisch ausgeführt werden. Beim NOVA-Template ist dies per Cronjob möglich; beim EVO-Template steht zudem eine Blindgrafik zur Verfügung.
Manuell
Sie können den Export auch manuell anstoßen, unabhängig davon, ob das vorgegebene Zeitfenster bereits verstrichen ist.
- Wechseln Sie dazu im Backend von JTL-Shop über das Menü Administration > Export > Exporte-Manager wieder auf die Seite Aufgabenplaner für Exporte.
- Klicken Sie auf die Schaltfläche Cron manuell anstoßen. Der Export wird nun durchgeführt und das Intervall wieder zurückgesetzt.
Häufige Fragen
Wie und wann werden Aufgaben im Aufgabenplaner abgearbeitet?
Die im Backend unter Administration > Export > Exporte-Manager hinterlegten Aufgaben werden folgendermaßen im JTL-Shop abgearbeitet:
Der Onlineshop versucht standardmäßig, bei jedem zehnten Seitenaufruf den Aufgabenplaner zu starten. Dazu startet der Server einen Server-to-Server-Request (curl), bei dem die URL <Shop-URL>/includes/cron_inc.php aufgerufen wird. Dies startet den Aufgabenplaner. Dieser arbeitet dann einen Teil der Aufgaben in der Warteschlange nach und nach ab. Beim nächsten Aufruf des Aufgabenplaners wird der nächste Teil der Aufgaben abgearbeitet. Dank dieser Technik sind bei einem Onlineshop mit regelmäßigen Besuchern keine weiteren Cronjobs notwendig. Die Aufgaben werden nacheinander durch Seitenaufrufe angestoßen.
Der Aufruf des Server-to-Server-Requests bzw. das Anstoßen des Aufgabenplaners hat dabei keine Auswirkung auf die Ladezeit der Seite.
Über Aufruf der URL <Shop-URL>/includes/cron_inc.php kann die Abarbeitung der Aufgaben manuell angestoßen werden. Falls auf der Seite kein Inhalt angezeigt wird, befinden sich aktuell entweder keine Aufgaben in der Warteschlange oder es wird gerade ein Aufgabenprozess abgearbeitet.
Wir empfehlen jedoch dringend, einen richtigen Cronjob zu installieren. Dieser ist nicht von regelmäßigen Seitenaufrufen abhängig, sondern ruft selbst in festen Intervallen <shoproot>/includes/cron_inc.php auf.
Warum werden meine geplanten Aufgaben nicht oder nur unregelmäßig abgearbeitet?
Die einfachste Erklärung ist, dass die Funktion nicht aktiviert wurde. Um zu prüfen, ob die Funktion derzeit aktiv ist, navigieren Sie im Backend von JTL-Shop zu Administration > System > Cron. Wechseln Sie zur Registerkarte Einstellungen und kontrollieren Sie, ob Pseudo-Cron-Methode gegebenenfalls auf deaktiviert gestellt wurde. Aktivieren Sie in diesem Fall die Einstellung. Sollte das Problem damit nicht behoben sein, lesen Sie bitte die nächsten Abschnitte.
Beim Aufgabenplaner handelt es sich nicht um einen Cronjob. Das heißt, dass die Aufgaben nicht nach einem bestimmten Intervall „Alle X Stunden“ abgerufen, sondern durch die Seitenaufrufe in Relation mit der Aufrufzeit gestartet werden. Das heißt, wenn eine Seite aufgerufen wird und die Aufrufzeit (per Timestamp) durch 10 ohne Rest (Modulo 10) teilbar ist, wird die Aufgabe gestartet. Im Durchschnitt erfolgt der Aufgabenstart ca. alle 10 Seitenaufrufe und unter optimalen Bedingungen auch ungefähr in dem angegebenen „Alle X Stunden“-Intervall. Durch geringe Besucherzahlen kann es dazu kommen, dass sich die Aufgaben verzögern oder bei sehr geringen Besucherzahlen sogar zeitweise gar nicht ausgeführt werden.
Auch die Newsletter und die Exporte werden automatisch über den Aufgabenplaner ausgeführt. Bei einer geringen Besucherzahl Ihres JTL-Shops verzögert sich der Aufgabenstart, der dazu führt, dass die Newsletter oder die Exporte versendet werden. Dies bedeutet auch, dass die Versendung der Newsletter oder der Exporte sich zeitlich verzögern oder bei einer sehr geringen Besucherzahl auch gar nicht erst versendet werden.
Aufgabenplaner per Cronjob anstoßen
Wenn Sie die Möglichkeit haben, eigene Cronjobs zu erstellen (entweder Cronjobs auf eigenem Server oder durch externe Cron-Aufrufe), dann können Sie wie folgt vorgehen:
Sie können das PHP-Script direkt per Cron-Aufruf anstoßen.
Wenn der Cron-Dienst auf demselben Server wie der Shop läuft, dann wird das Script wie folgt aufgerufen (Pfad zum Onlineshop anpassen!):
php /pfadZumShop/includes/cron_inc.php
define('JOBQUEUE_LIMIT_M_EXPORTE', 250);
define('JOBQUEUE_LIMIT_JOBS', 3);
JOBQUEUE_LIMIT_M_EXPORTE beschreibt die Anzahl von Artikeln, die pro Exportformat und Cronjob-Aufruf exportiert werden. Der Standardwert liegt bei 500 und sollte nur nach unten angepasst werden.
Bei JOBQUEUE_LIMIT_JOBS handelt es sich um die Anzahl an Cronjobs, die pro Aufruf nacheinander gestartet werden.
Bei externen Cron-Diensten (wie z. B. www.cronjob.de) reicht es, das php-Skript per URL-Aufruf zu starten:
Beispiel:
http://www.meinshop.de/includes/cron_inc.php
Standardmäßig werden bei Exportformaten 500 Artikel pro Aufruf abgearbeitet. Das bedeutet, wenn Sie 800 Artikel und zwei Exportformate im Aufgabenplaner eingetragen haben, muss der Cronjob zweimal gestartet werden, damit alle Aufgaben abgearbeitet werden können. Je nach Serverkapazität sollten Sie entsprechend viel Zeit zwischen den Aufrufen einplanen (ca. 2 Minuten). Sie sollten für den Aufruf der Cronjobs einen Zeitraum wählen, in dem möglichst wenige Shop-Besucher online sind.
Best Practices Aufgabenplaner und Cronjobs
Für eine reibungslose Abarbeitung von Jobs sollten die folgenden Dinge beachtet werden: