JTL-Shop Cron-Jobs verwalten: Volle Kontrolle mit Resources & Health
KI-Zusammenfassung
zum Anhören
„Läuft mein Cron-Job eigentlich wirklich?" – diese Frage hat sich vermutlich jeder JTL-Shopbetreiber schon mal gestellt. Im Standard-Backend siehst Du, welche Jobs angelegt sind, vielleicht noch eine Frequenz, einen geplanten nächsten Start. Aber ob der Job tatsächlich sauber durchgelaufen ist? Eher Bauchgefühl als Gewissheit. Und wenn was schiefläuft, merkst Du es oft erst dann, wenn es zu spät ist oder Google Deine Produkte schon aus dem Merchant Center entfernt hat.
In diesem Beitrag erfährst Du, wie das Cron-System im JTL-Shop tickt, wofür Du es brauchst, welche typischen Stolpersteine es gibt – und wie Du Deine JTL-Cron-Jobs zuverlässig verwalten kannst.
Kurz gesagt:
Mit dem kostenlosen Plugin DZM Resources & Health bekommst Du eine vollständige Übersicht aller Cron-Jobs, Live-Logs für die Fehlerdiagnose und fünf direkte Aktionen pro Job – inklusive Zombie-Erkennung.
Die Basics
Was sind Cron-Jobs im JTL-Shop überhaupt?
Cron-Jobs im JTL-Shop sind kleine Hintergrundprozesse, die automatisch wiederkehrende Aufgaben erledigen – ohne dass Du sie aktiv anstoßen musst. Sie laufen still vor sich hin und kümmern sich um Dinge wie das Berechnen Deiner Bestseller, die DSGVO-konforme Anonymisierung alter Kundendaten oder den zeitversetzten Versand von Mails.
Auch viele Plugins greifen auf Cron-Jobs zurück. Unser eigenes DZM Reloadify-Plugin zum Beispiel synchronisiert über Cron-Jobs regelmäßig Produkte, Bestellungen und abgebrochene Warenkörbe mit dem Newsletter-Tool. Oder das klassische Google-Export-Plugin: Hier erzeugt ein Cron-Job in festen Abständen die Produktfeed-Datei, die das Google Merchant Center anschließend abruft. Ohne den Job keine aktuelle Datei – und ohne aktuelle Datei keine frischen Produktdaten bei Google Shopping.
Im Backend findest Du alle Cron-Jobs unter Administration > System > Cron. Dort siehst Du eine Übersicht aller angelegten Jobs, kannst neue hinzufügen und einzelne Einträge konfigurieren – also Frequenz und Startzeit festlegen.
Klingt nach einer soliden Mechanik. Aber was passiert eigentlich, wenn so ein Job mal nicht durchläuft?
Die typischen Probleme
Warum JTL-Cron-Jobs Dich oft im Dunkeln lassen
Die JTL-Standard-Verwaltung zeigt Dir, welche Jobs angelegt sind, einen einfachen Status und ein paar Aktionen. Das ist solide, aber im Detail bleibt einiges im Dunkeln. Hier die typischen Stolpersteine, die im Tagesgeschäft am meisten Ärger machen.
#1 Cron-Jobs hängen am Traffic Deines Shops
Cron-Jobs sind im JTL-Shop zwar zeitlich terminiert, ausgelöst werden sie aber nicht durch einen echten Scheduler, sondern durch Aufrufe in Deinem Shop. Im Standard wird der Cron-Job-Handler alle 10 Seitenaufrufe getriggert, prüft die Queue und arbeitet anstehende Jobs ab. Solange viel los ist im Shop, läuft alles. Sobald die Besucherzahlen runtergehen – nachts, am Wochenende, in der Sommerflaute – werden Jobs verzögert oder im schlimmsten Fall gar nicht ausgeführt. Umgekehrt kann diese Mechanik bei Bot-Wellen für unnötig hohen Server-Traffic sorgen, weil bei jedem zehnten Aufruf der Handler anrollt.
Praxistipp
Setze stattdessen einen echten Server-Cron-Job, der alle 2–5 Minuten https://<deinedomain>/includes/cron_inc.php aufruft – damit bist Du unabhängig vom Shop-Traffic. Viele Hoster bieten das an, zum Beispiel Timme Hosting*. Falls Dein Hoster das nicht hergibt, hilft cron-job.org – ein kostenloser Dienst, der Deine URL zuverlässig nach Zeitplan anpingt.
#2 Zombie-Jobs blockieren Deine Queue
Ein Zombie-Cron-Job ist ein Job, der laut Datenbank als laufend markiert ist, dessen Prozess aber nicht mehr aktiv ist. Das passiert zum Beispiel, wenn ein Job mitten in der Ausführung abbricht und das Lockfile nicht sauber freigegeben wird. Die Queue denkt: „Der läuft ja noch" – und blockiert ihn dauerhaft. Der JTL-Standard zeigt zwar einen „Läuft aktuell"-Status, erkennt Zombies aber nicht als solche. Du wunderst Dich nur, warum der Job nie wieder anspringt.
#3 Kein Einblick, was im Job tatsächlich passiert
Im Standard siehst Du den letzten Start, den nächsten geplanten Start und den aktuellen Status. Aber was passiert während der Ausführung? Wenn ein Job mitten im Lauf einen Fehler wirft, das Memory-Limit sprengt oder unsauber endet, bekommst Du im Backend keinen direkten Hinweis. Du müsstest in die JTL-Logs einsteigen – die in vielen Setups gar nicht so umfangreich konfiguriert sind. Was Dir bleibt: hoffen. Im E-Commerce keine besonders solide Strategie.
#4 Wartungsmodus und Updates stoppen Deine Cron-Jobs
Steht Dein Shop im Wartungsmodus, laufen die Cron-Jobs nicht. Klingt logisch, vergisst man aber nach Wartungsarbeiten gerne mal. Und auch nach JTL- oder Plugin-Updates haken Cron-Jobs immer wieder. Im JTL-Forum ist das ein Dauerthema – mit dem unangenehmen Beigeschmack, dass Du es oft erst Tage später bemerkst.
Unsere Lösung
JTL Cron-Jobs verwalten mit DZM Resources & Health
Genau hier kommt unser kostenloses Plugin DZM Resources & Health ins Spiel. Es ist in wenigen Minuten installiert und bringt Dir genau die Transparenz und Eingriffsmöglichkeiten, die der Standard nicht liefert. Es ersetzt den JTL-Standard nicht, sondern legt sich als Cockpit darüber.
Was Du im Backend direkt siehst
Für jeden Cron-Job erkennst Du auf einen Blick:
- Status – idle, queued oder zombie
(statt nur „Läuft aktuell ja/nein") - Frequenz – wie oft der Job geplant ist
- Letzter Start – wann der Job zuletzt ausgeführt wurde
- Nächster Start – wann er wieder dran ist
Zombies werden dabei automatisch erkannt und mit eigenem Status markiert. Du musst nicht raten, ob ein Job hängt – Du siehst es sofort.
Fünf Aktionen für volle Kontrolle
Anders als im Standard hast Du nicht nur „Schnellstmöglich starten" oder ein einzelnes Reset, sondern fünf granulare Aktionen pro Job:
- Sofort ausführen – umgeht die JTL-Queue komplett und führt den Job direkt aus
- ASAP setzen – läuft mit dem nächsten regulären Queue-Durchlauf
- Soft Reset – setzt den Status zurück (perfekt bei Zombies). Der Eintrag bleibt in der Queue und muss nicht neu getriggert werden
- Hard Reset – entfernt den Eintrag aus der Queue. Der Cron-Job bleibt erhalten und kommt beim nächsten Trigger normal wieder rein
- Komplett löschen – löscht den Cron-Job inklusive aller zugehörigen Queue-Einträge unwiderruflich. Muss bei Bedarf neu eingerichtet werden
Die Unterscheidung zwischen Soft- und Hard-Reset ist im Alltag echtes Gold wert: Soft Reset reicht meist, um einen Zombie wieder gangbar zu machen, Hard Reset nutzt Du, wenn die Queue grundlegend bereinigt werden soll.
Live-Logs: Endlich sehen, was im Job passiert
Das vielleicht stärkste Feature: Live-Logs. Wenn ein Job klemmt oder Du einfach nachschauen willst, was bei der Ausführung wirklich passiert, kannst Du den Durchlauf direkt live beobachten und Errors in Echtzeit erkennen. Damit ist Schluss mit dem Stochern in JTL-Standard-Logs. Voraussetzung dafür: Die Error Logs sind in der JTL-Config aktiviert.
Kurz gesagt: DZM Resources & Health ist ein kostenloses JTL-Shop-Plugin, das ab Version 1.10.7 einen vollständigen Cron-Job-Manager bietet – inklusive Zombie-Erkennung, Live-Logs und granularer Aktionen. Kombiniert mit einem echten Server-Cron-Job (siehe Praxistipp weiter oben) hast Du sowohl zuverlässige Auslösung als auch volle Sicht und Kontrolle über alles, was im Hintergrund Deines Shops läuft.
Fazit: Vom Raten zur Gewissheit
Cron-Jobs sind das unsichtbare Rückgrat Deines JTL-Shops. Sie sorgen dafür, dass DSGVO-Fristen eingehalten werden, Newsletter rausgehen, Bestseller stimmen und Dein Google-Feed aktuell bleibt. Im JTL-Standard funktioniert das grundsätzlich – aber wenn was schiefläuft, bemerkst Du es oft erst, wenn es richtig wehtut.
Mit zwei Bausteinen wird daraus eine wirklich saubere Lösung:
-
Echter Server-Cron-Job (z. B. über Deinen Hoster oder cron-job.org), damit Deine Jobs verlässlich getriggert werden – unabhängig vom Shop-Traffic
- DZM Resources & Health als Cockpit obendrauf, damit Du Live siehst, was passiert, Zombies sofort erkennst und granular eingreifen kannst
Aus „Hoffentlich läuft's" wird „Ich sehe genau, was läuft" – und Du erfährst von Problemen, bevor sie Dich Umsatz oder Rankings kosten. Das Plugin ist und bleibt kostenlos für alle.
Häufig gestellte Fragen zu JTL-Cron-Jobs
Wie oft sollte ein JTL-Cron-Job ausgeführt werden?
Die optimale Frequenz hängt vom Anwendungsfall ab. Für die meisten Standard-Aufgaben wie Bestseller-Berechnung oder DSGVO-Anonymisierung reicht ein Lauf pro Tag, oft nachts. Aktive Plugin-Cron-Jobs wie Reloadify-Syncs laufen typischerweise alle paar Minuten bis Stunden. Damit das zuverlässig klappt, solltest Du einen echten Server-Cron-Job einrichten, der die cron_inc.php alle 2 bis 5 Minuten anpingt. Die Mindestzeit zwischen zwei Calls sollte sich an Deiner PHP-max_execution_time orientieren (meist 120 Sekunden Standard), damit ein noch laufender Job nicht doppelt getriggert wird – besonders relevant bei aufwendigen Produktabgleichen.
Was ist ein Zombie-Cron-Job im JTL-Shop?
Ein Zombie-Cron-Job ist ein Job, der laut Datenbank als laufend markiert ist, dessen Prozess aber nicht mehr aktiv ist. Das passiert, wenn ein Job mitten in der Ausführung abbricht und das Lockfile nicht sauber freigegeben wird. Die JTL-Queue denkt, der Job läuft noch, und blockiert ihn dauerhaft. Im JTL-Standard wird das nicht aktiv erkannt – mit DZM Resources & Health wird der Zombie-Status direkt sichtbar.
Warum läuft mein JTL-Cron-Job nicht?
Die häufigsten Gründe: zu wenig Shop-Traffic (Cron-Jobs werden im Standard durch Seitenaufrufe getriggert), aktivierter Wartungsmodus, ein Zombie blockiert die Queue, oder ein PHP-Memory-Limit kappt den Job mittendrin. Auch nach JTL- oder Plugin-Updates haken Cron-Jobs manchmal. Erster Schritt zur Diagnose: einen echten Server-Cron-Job einrichten und mit einem Monitoring-Tool prüfen, ob der Job tatsächlich durchläuft.
Wo finde ich die Cron-Jobs im JTL-Shop?
Im Backend Deines JTL-Shops unter Administration > System > Cron. Dort findest Du eine Übersicht aller angelegten Queue-Einträge, kannst neue Jobs anlegen und Frequenz sowie Startzeit konfigurieren. Mit dem Plugin DZM Resources & Health bekommst Du zusätzlich eine erweiterte Übersicht mit Status (idle/queued/zombie), Live-Logs und fünf granularen Aktionen pro Job.
Kann ich einen JTL-Cron-Job manuell sofort starten?
Im JTL-Standard kannst Du einen Cron-Job über die Aktion „Schnellstmöglich starten" für den nächsten Queue-Durchlauf vormerken. Mit DZM Resources & Health hast Du zwei Optionen: „ASAP setzen" funktioniert wie im Standard, „Sofort ausführen" umgeht die JTL-Queue komplett und startet den Job direkt. Das ist besonders nützlich, wenn ein Cron-Job dringend zwischen seinen regulären Läufen ausgeführt werden muss.
KI-Zusammenfassung
zum Anhören
Video zum Thema
coming soon..
Über uns
Aus Leidenschaft geboren, durch Hingabe gewachsen – mit voller Kraft für deinen Erfolg im E-Commerce. DREIZACK Medien steht für all das was du bei deiner letzten Agentur vermisst hast. Mit einem Faible für das große Ganze decken wir nicht nur stumpf Anforderungen ab – wir schaffen echte Lösungen. Wie? Indem wir mit- und weiterdenken, Potenziale erkennen und Chancen kreieren. Und indem wir auf ein Netzwerk erstklassiger Partner setzen. Unser Anspruch: Nachhaltige Lösungen, die dich unabhängig machen. Unsere Philosophie: Einfach mal nen Zacken weiter denken
Folgt uns
Unsere Produkte
*Hinweis: Die mit einem * gekennzeichneten Links sind Affiliate-Links. Das bedeutet, dass wir eine Provision erhalten, wenn Du über einen dieser Links kaufst – für Dich bleibt der Preis natürlich gleich. Danke!