Hallo Forum, in meinem Shop laufen diverse cronjobs für Plugins zur Anbindung von Hermes, Amazon und eBay. Leider bleiben die cronjobs in unregelmäßigen Abständen stehen, d.h. sie haben auf einmal den Status inaktiv. Das betrifft immer nur einen der Jobs, aber passiert ist das schon bei allen. Beim Stöbern hab ich den Hinweis gefunden, daß das passiert, falls ein cronjob auf einen Fehler läuft. Ist das so? Und wenn ja, wie kann man dieses Verhalten unterbinden? Oder was kann sonst noch die Ursache dafür sein? Bin für jeden Hinweis dankbar. LG Stephan
Hallo, dieses Verhalten ist leider nicht wirklich nachvollziehbar und tritt mitunter “einfach so” auf. Leider bekommt man davon dann erst was mit, wenn nix mehr geht. Wir haben deshalb ein Skript, was alle X Stunden mit externem Cronjob läuft und die Cronjobs alle aktiviert, die wir brauchen. Gruß, Joscha
Es ist wirklich so, dass der Cronjob deaktiviert wird, wenn es bei der Ausführung zu einem Fehler kommt. Wie man das umgehen kann… Man kann natürlich vor der Ausführung des Cronjobs das Flag in der DB auf aktiv setzen, aber das ist keine Lösung.Man sollte eher schauen, was da passiert (Fehler werden in der Datenbank protokolliert).
Ich habe leider bei einem Cronjob im eigenen Plugin genau das gleiche Problem. In der Datenbank steht der Cronjob noch auf aktiv („1“), im Backend wird er jedoch als inaktiv angezeigt. Grund hierfür ist scheinbar, dass Shopware Cronjobs intern als „inaktiv“ behandelt, wenn ein Start-Datum, jedoch kein Enddatum gesetzt wird, der Cronjob als entweder noch läuft oder aufgrund von z.B. dem Erreichen der max_execution_time beendet wird, der Fehler jedoch nicht protokolliert werden kann. Für nicht-Entwickler: Wird der Cronjob ohne erkennbaren Grund als „inaktiv“ gelistet, mal in der php.ini die Werte max_execution_time und memory_limit prüfen und ggf. erhöhen.