Cronjobs nicht mehr aufrufbar

Hallo allerseits, nachdem wir unsere Shopwareversion von 4.2.3. auf 4.3.2. aktualisiert haben, funktioniert das Cronsystem nicht mehr. Die automatische Ausführung läuft nicht und nicht einmal der manuelle Aufruf via http://shopdomain.de/backend/cron funktioniert. Ich erhalte auch keine Server-Fehlermeldung. stattdessen sehe ich das Logo und Templates des Shopware-Basistemplates, samt DEMOSHOP-Information… Das ist schon etwas komisch. Wieso kommt beim Versuch des manuellen Aufrufs des Cronjobs eine Demosite? Ein Verzeichnis „daneben“ habe ich eine frische Installation von Shopware 4.3.2. durchgeführt. Dort funktionieren die Cronjobs ganz normal. Was kann hier passiert sein? Wie kann ich das Cron-Subsystem fixen?

Schau’ am besten mal in den logs/-Ordner von Shopware. Hilfreich kann es auch sein, den Cron Job per Kommandozeilen-PHP auszuführen, das sollte aufschlußreichere Fehlermeldungen geben: cd /pfad/zum/shopware && /usr/bin/php shopware.php /backend/cron

So eine blöde Frage: ist das Plugin “Cron” aktiv?

[quote=„waldicom“]So eine blöde Frage: ist das Plugin „Cron“ aktiv?[/quote] ja, natürlich :wink:

Guten Morgen, [quote=“TimmeHosting”]Schau’ am besten mal in den logs/-Ordner von Shopware. Hilfreich kann es auch sein, den Cron Job per Kommandozeilen-PHP auszuführen, das sollte aufschlußreichere Fehlermeldungen geben: cd /pfad/zum/shopware && /usr/bin/php shopware.php /backend/cron[/quote] also das - soeben aktualisierte - Shopwarelog sieht wie folgt aus: [quote][2014-11-25 08:00:51] core.ERROR: exception ‘PDOException’ with message ‘SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘Shopware_CronJob_ClearHttpCache’ for key ‘action’’ in /pfad_zu_shopware/engine/Library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /pfad_zu_shopware/engine/Library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /pfad_zu_shopware/engine/Library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query(‘UPDATE s_cront...', Array) #4 /pfad_zu_shopware/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(75): Zend_Db_Adapter_Pdo_Abstract-\>query('UPDATE s_cront…’, Array) #5 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Abstract.php(635): Enlight_Components_Db_Adapter_Pdo_Mysql->query(‘UPDATE s_cront...', Array) #6 /pfad_zu_shopware/engine/Library/Zend/Db/Table/Abstract.php(1133): Zend_Db_Adapter_Abstract-\>update('s_crontab', Array, Array) #7 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Adapter/DbTable.php(153): Zend_Db_Table_Abstract-\>update(Array, Array) #8 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Manager.php(119): Enlight_Components_Cron_Adapter_DbTable-\>updateJob(Object(Enlight_Components_Cron_Job)) #9 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Manager.php(238): Enlight_Components_Cron_Manager-\>disableJob(Object(Enlight_Components_Cron_Job)) #10 /pfad_zu_shopware/engine/Shopware/Plugins/Default/Core/Cron/Cron.php(60): Enlight_Components_Cron_Manager-\>runJob(Object(Enlight_Components_Cron_Job)) #11 /pfad_zu_shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Cron-\>indexAction() #12 /pfad_zu_shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(528): Enlight_Controller_Action-\>dispatch('indexAction') #13 /pfad_zu_shopware/engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default-\>dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #14 /pfad_zu_shopware/engine/Shopware/Kernel.php(141): Enlight_Controller_Front-\>dispatch() #15 /pfad_zu_shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #16 /pfad_zu_shopware/engine/Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #17 /pfad_zu_shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #18 /pfad_zu_shopware/engine/Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #19 /pfad_zu_shopware/shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #20 {main} Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Shopware_CronJob_ClearHttpCache' for key 'action'' in /pfad_zu_shopware/engine/Library/Zend/Db/Statement/Pdo.php:234 Stack trace: #0 /pfad_zu_shopware/engine/Library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo-\>_execute(Array) #1 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement-\>execute(Array) #2 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract-\>query('UPDATE s_cront…’, Array) #3 /pfad_zu_shopware/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(75): Zend_Db_Adapter_Pdo_Abstract->query(‘UPDATE s_cront...', Array) #4 /pfad_zu_shopware/engine/Library/Zend/Db/Adapter/Abstract.php(635): Enlight_Components_Db_Adapter_Pdo_Mysql-\>query('UPDATE s_cront…’, Array) #5 /pfad_zu_shopware/engine/Library/Zend/Db/Table/Abstract.php(1133): Zend_Db_Adapter_Abstract->update(‘s_crontab’, Array, Array) #6 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Adapter/DbTable.php(153): Zend_Db_Table_Abstract->update(Array, Array) #7 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Manager.php(119): Enlight_Components_Cron_Adapter_DbTable->updateJob(Object(Enlight_Components_Cron_Job)) #8 /pfad_zu_shopware/engine/Library/Enlight/Components/Cron/Manager.php(238): Enlight_Components_Cron_Manager->disableJob(Object(Enlight_Components_Cron_Job)) #9 /pfad_zu_shopware/engine/Shopware/Plugins/Default/Core/Cron/Cron.php(60): Enlight_Components_Cron_Manager->runJob(Object(Enlight_Components_Cron_Job)) #10 /pfad_zu_shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Cron->indexAction() #11 /pfad_zu_shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(528): Enlight_Controller_Action->dispatch(‘indexAction’) #12 /pfad_zu_shopware/engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #13 /pfad_zu_shopware/engine/Shopware/Kernel.php(141): Enlight_Controller_Front->dispatch() #14 /pfad_zu_shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 /pfad_zu_shopware/engine/Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #16 /pfad_zu_shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #17 /pfad_zu_shopware/engine/Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #18 /pfad_zu_shopware/shopware.php(109): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #19 {main} {“uid”:“XXXXXXX”}[/quote]

[quote=“TimmeHosting”]Hilfreich kann es auch sein, den Cron Job per Kommandozeilen-PHP auszuführen, das sollte aufschlußreichere Fehlermeldungen geben: cd /pfad/zum/shopware && /usr/bin/php shopware.php /backend/cron[/quote] Hm… das klappt irgendwie nicht so ganz. Ich erhalte stets die Meldung “No such file or directory” - egal ob mit oder ohne vorangestelltem Slash - egal ob ich direkt ins Shopwareverzeichnis wechsle (und ohne dem cd-Kommando arbeite) oder direkt aus dem Root heraus hantiere. Komisch…

Haben Sie mal die Webseite, http://www.shopware.de/ mal besuchen ? Dort gibt ein Shopware Test. Sie können mal versuchen. [color=#C9C9C9]samsung galaxy tab s 8.4 handyhülle[/color]

[quote=“Capcaunu”]Haben Sie mal die Webseite, http://www.shopware.de/ mal besuchen ? Dort gibt ein Shopware Test. Sie können mal versuchen.[/quote] Ich verstehe nicht ganz, was soll ich denn dort testen? Es sei darauf hingewiesen, dass es sich um einen spezifischen Fehler handelt. Eine Parallelversion (einer neuen, frischen Shopwareinstallation) funktioniert ja ordnungsgemäß. Nur das Update funktionierte anscheinend nicht ganz.

Hallo, in der Fehlermeldung: Integrity constraint violation: 1062 Duplicate entryShopware_CronJob_ClearHttpCache’ for key ‘action’ Überprüfe die Datenbank, Du kannst ja in der funktionierenden Installation und der “alten” , defekten die entsprechenden Tabellen vergleichen.

1 „Gefällt mir“

Hallo hth, [quote=“hth”]in der Fehlermeldung: Integrity constraint violation: 1062 Duplicate entryShopware_CronJob_ClearHttpCache’ for key ‘action’ Überprüfe die Datenbank, Du kannst ja in der funktionierenden Installation und der “alten” , defekten die entsprechenden Tabellen vergleichen.[/quote] vielen Dank für den Tipp. Ich arbeite zu selten mit Datenbanken. Darauf hätte ich eigentlich kommen können. :wink: In der Tabelle _crontab existierte tatsächlich eine Anomalie. Ich weiß nicht wie es passierte, aber dort fand ich einen Datensatz “ClearHttpCache” - ohne Präfix Shopware_***. Daraufhin überprüfte ich zwei andere Shopware-Installationen unterschiedlicher Version und konnte nirgends so einen Eintrag finden. Nach der Löschung funktionieren die Cronjobs nun wieder. Danke!

Danke, exakt das gleiche Problem hatte ich auch seit der Umstellung auf 4.3.2! Durch deinen Hinweis hat sich das nun erledigt! Super! lg