Warum gibt Magento 2.1.2 cron: run Undefined index: jobs?

13

Beim Laufen:

/usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log

Ich bekomme:

[Exception]                                                                  
  Notice: Undefined index: jobs in /home/ubuntu/repo/project/vendor/magento/
               module-cron/Model/Config/Converter/Db.php on line 39  
Stevie G.
quelle
Was sagt Cron Log?
Aivis Zvezdovs
Es gibt einen Fehler in update.log:setup-cron.ERROR: Database 'my-db' does not exist or specified database server user does not have privileges to access this database.
Stevie G
So war Problem , dass die Datenmigrations - Tool cron - Einträge auf der falschen Ebene hinzugefügt: so tat delete from core_config_data where path like 'crontab/jobs%'; community.magento.com/t5/Technical-Issues/...
Stevie G
Das erste Problem wurde behoben, aber jetzt läuft php /var/www/shootingstuff/update/cron.phpgibtPHP Warning: require_once(/dir/update/vendor/autoload.php): failed to open stream: No such file or directory in /dir/update/app/bootstrap.php on line 15 PHP Fatal error: require_once(): Failed opening required '/dir/update/vendor/autoload.php' (include_path='.:/usr/share/php') in /dir/update/app/bootstrap.php on line 15
Stevie G

Antworten:

34

In meinem Fall wurde dies durch einige von Magento 1 migrierte Cron-Jobs verursacht core_config_data. Magento 2 erwartet das Format crontab/{groupname}/jobs/{code}, während die importierten den Gruppennamen verfehlen (dh Standard). In diesem Fall möchten Sie möglicherweise die falschen Einträge in löschen core_config_dataoder aktualisieren, um die neuen Cron-Jobs zuzuordnen.

rcason
quelle
3
Möglicherweise müssen Sie alle crontab-Einträge aus der core_config_dataTabelle entfernen und dann ausführen php bin/magento setup:upgrade.
Ndianabasi
1
bin/magento ca:fl configwar genug für mich
Shapeshifter
Du hast recht! Es ist wirklich in core_config_data vorhanden, da diese Site, an der ich arbeite, zuvor von M1 auf M2.1 migriert wurde. Nochmals vielen Dank!
MazeStricks
2
202 Einträge gelöscht :) DELETE FROM core_config_data WHERE path LIKE 'crontab/%' AND path NOT LIKE 'crontab/default%' AND config_id > 0Ich brauchte den letzten Teil AND config_id > 0wegen des abgesicherten Modus.
Damodar Bashyal
1
Vielen Dank an @DamodarBashyal für die Freigabe der Anfrage.
Chirag Dodia
4

Ich habe den gleichen Fehler. Dies ist der Fehler bei der Migration von Magento 1 nach Magento 2. Also habe ich ihn behoben, indem ich alle Zeilen entfernt habe, deren "Pfad" mit "crobtab" in der Tabelle "core_config_data" beginnt.

Führen Sie dann Folgendes aus: php bin / magento setup: upgrade

Und Fehler behoben. Magento 2 generiert wieder alle Cronjobs.

Andy Kim Long
quelle
Danke, es hat bei mir funktioniert.
Biplab Router
3

Wie rcason sagte: Dieses Problem ist auf die Migration von Magento 1 nach Magento 2 zurückzuführen. Nach dem Entfernen aller Werte, die mit crontab / default ... (unter Konfigurationspfad) beginnen, aus "core _config_data" ist das Problem behoben, und M2-Cron-Jobs Jetzt ohne Probleme ausführen.

Isaac
quelle
0

Sieht so aus, als hätten Sie das falsche Format der Cron-Konfiguration in der Datenbank. Versuchen Sie es mit der Bereinigungstabelle cron_scheduleund führen Sie cron erneut aus.

Überprüfen Sie auch die Cron-Einstellung in der Systemkonfiguration.

KAndy
quelle
1
Es ist nichts incron_schedule
Stevie G