Mengapa Magento 2.1.2 cron: run memberikan Undefined index: jobs?

13

Saat berlari:

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

Saya mendapat:

[Exception]                                                                  
  Notice: Undefined index: jobs in /home/ubuntu/repo/project/vendor/magento/
               module-cron/Model/Config/Converter/Db.php on line 39  
Stevie G
sumber
Apa kata cron log?
Aivis Zvezdovs
Ada kesalahan dalam 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
Jadi masalah adalah bahwa alat migrasi data menambahkan entri cron di tingkat yang salah: begitu pula delete from core_config_data where path like 'crontab/jobs%'; community.magento.com/t5/Technical-Issues/…
Stevie G
Memperbaiki masalah pertama tetapi sekarang berjalan php /var/www/shootingstuff/update/cron.phpmemberiPHP 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

Jawaban:

35

Dalam kasus saya itu disebabkan oleh beberapa pekerjaan cron yang dimigrasi dari Magento 1, di core_config_data. Magento 2 mengharapkan format menjadi crontab/{groupname}/jobs/{code}, sedangkan yang diimpor kehilangan nama grup (yaitu default). Jika itu adalah kasus Anda, Anda mungkin ingin menghapus entri yang salah core_config_data, atau memperbaruinya untuk memetakan pekerjaan cron baru.

alasan
sumber
3
Anda mungkin perlu menghapus semua entri crontab dari core_config_datatabel dan kemudian jalankan php bin/magento setup:upgrade.
Ndianabasi
1
bin/magento ca:fl configsudah cukup bagi saya
Shapeshifter
Kamu benar! Ini benar-benar ada di core_config_data karena situs yang saya gunakan ini dimigrasi sebelumnya dari M1 ke M2.1, Terima kasih lagi!
MazeStricks
2
Menghapus 202 entri :) DELETE FROM core_config_data WHERE path LIKE 'crontab/%' AND path NOT LIKE 'crontab/default%' AND config_id > 0Saya membutuhkan bagian terakhir AND config_id > 0karena mode aman.
Damodar Bashyal
1
Terima kasih @DamodarBashyal untuk berbagi kueri.
chirag dodia
4

Saya mempunyai kesalahan yang sama. Ini adalah kesalahan ketika migrasi dari Magento 1 ke Magento 2. Jadi saya memperbaikinya dengan menghapus semua baris "path" mulai dengan "crobtab" pada tabel "core_config_data".

Kemudian jalankan ini: setup php bin / magento: upgrade

Dan kesalahan diperbaiki. Magento 2 akan menghasilkan semua cronjobs lagi.

Andy Kim Long
sumber
terima kasih itu berhasil untuk saya.
kekalahan biplab
3

Seperti yang dikatakan rcason: masalah ini disebabkan oleh migrasi dari Magento 1 ke Magento 2. Setelah menghapus dari "core _config_data" semua nilai yang dimulai dengan crontab / default ... (di bawah Config Path) masalah diselesaikan, dan pekerjaan M2 cron sekarang jalankan tanpa masalah.

Ishak
sumber
0

Sepertinya Anda memiliki format konfigurasi cron yang salah dalam database. Coba cron_scheduletabel pembersihan dan coba jalankan cron lagi.

Periksa juga pengaturan cron dalam konfigurasi sistem.

KAndy
sumber
1
Tidak ada apa-apa dicron_schedule
Stevie G