it-swarm.com.de

Magento 1.9.1 Cron läuft nicht

Ich habe große Probleme mit dem Cron von Magento 1.9.1 und hoffe, dass jemand helfen kann. Ich habe AOE installiert und sehe keinen Heartbeat.

Ich habe meinen Cronjob hinzugefügt

*/5 * * * * /bin/sh /var/sites/p/domain/public_html/cron.sh

Aber das läuft immer noch nicht, also habe ich beschlossen, cron.php zu starten und zu versuchen, dies tut nichts. Das ist mein Cron dafür 

*/5 * * * */usr/bin/wget -O /dev/null -o /dev/null http://www.domain.com/cron.php

Basierend auf Magneto 1.8 cron.php habe ich folgendes zu cron.php hinzugefügt.

$isShellDisabled = true;

Aufgrund dessen funktionierte das immer noch nicht und ich versuchte die cron.php im Browser. Ich erhalte im Browser eine Fehlermeldung, dass das Drucken aus Sicherheitsgründen standardmäßig deaktiviert ist. 

Also habe ich meine php.ini einfach in memory_limit = 512M geändert. Das funktioniert immer noch nicht.

Der Fehler, den ich in meinen Berichten dazu bekomme, lautet:

 a:5:{i:0;s:59:"Mage registry key "_singleton/cron/observer" already exists";i:1;s:537:"#0 /var/sites/p/domain.co.uk/public_html/app/Mage.php(223): Mage::throwException('Mage registry k...')
#1 /var/sites/p/domain.co.uk/public_html/app/Mage.php(477): Mage::register('_singleton/cron...', false)
#2 /var/sites/p/domain.co.uk/public_html/app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('cron/observer')
#3 /var/sites/p/domain.co.uk/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('default', Array)
#4 /var/sites/p/domain.co.uk/public_html/cron.php(74): Mage::dispatchEvent('default')
#5 {main}";s:3:"url";s:9:"/cron.php";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}

Jede Hilfe wäre wirklich toll.

Hinweis ** Ich habe den Domänennamen in DOMAIN geändert, da meine Website nicht für die Arbeit geeignet ist.

7
Vinnie

Einige einfache Schritte zur Behebung des Problems mit Magento Cron:

  1. Gehen Sie zu System> Konfiguration> Erweitert> System> Cron (Geplante Aufgaben) und legen Sie die nächsten Werte fest:

    • Zeitpläne generieren alle: 15
    • Zeitplan für: 20
    • Verpasst, wenn nicht innerhalb ausgeführt: 15
    • History Cleanup Jeder: 10
    • Erfolgsgeschichte: 60
    • Lebensdauer des Fehlerverlaufs: 600
  2. Löschen Sie den Cache in System> Cache Management

  3. Löschen Sie die 'cron_schedule'-Tabelle. Sie können dies über phpmyadmin tun oder den nächsten Befehl in der SQL-Konsole ausführen:

    TRUNCATE TABLE cron_schedule;

  4. Nächste Zeile zu Cron-Einstellungen hinzufügen (absolute Pfade verwenden):

    */5 * * * */usr/bin/php /absolute/path/on/your/server/to/file/cron.php

Hinweis: In einigen Konfigurationen auf Webserver (Apache/nginx) dürfen PHP-Skripts ausgeführt werden. In diesem Fall fügen Sie diese Zeile zum Benutzer crontab des Webservers hinzu. Beispiel für Apache: Crontab -u Apache -e

  1. Starten Sie den Cron-Daemon neu.

  2. Überprüfen Sie die Tabelle 'cron_schedule', wenn sie nicht leer ist - das Cron-Skript von Magento beginnt zu arbeiten.

17
ToxaBes

Nun, ich hatte ein anderes Problem. Mein cron funktionierte einfach nicht, obwohl cron.php korrekt ausgeführt wurde. Immer noch keine Ausgabe und keine Jobs erledigt. 

Ich habe cron_schedule überprüft und festgestellt, dass der letzte Job dort am 19. März dieses Jahres liegt (sic!). Also habe ich immer nach Ursache gesucht. 

Endlich habe ich bemerkt, dass ab 19. März ein Prozess mit meinem Cronjob läuft (sic!).

josh 21350 99.6 0.4 350400 133492 ? R Mar19 241812:21 /usr/bin/php /var/www/mysite/cron.php -mdefault

Ich habe den Job mit: kill -9 21350 beendet

Und voila! Plötzlich wird Newsletter verschickt!

Ich hatte keine Ahnung warum und wie das passiert ist. Jetzt weiß ich, dass ich darauf achten sollte, also werde ich es tun.

5
Deus777

Ich habe gerade gesehen, dass Sie Magento 1.9.1 verwenden.

Führen Sie den cron stattdessen mit php aus:/usr/local/bin/php -f /home/cpanel_username/public_html/cron.php

Dies sollte Probleme mit der HTTP-Berechtigung beheben, die möglicherweise bei der Verwendung von 'usr/bin/wget -O/dev/null -o/dev/null' auftreten.

Versuchen Sie es mit diesem Befehl und lassen Sie mich wissen, ob es für Sie funktioniert. 

1
Maur