Perché Magento 2.1.2 cron: run fornisce un indice indefinito: lavori?


13

Durante l'esecuzione:

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

Ottengo:

[Exception]                                                                  
  Notice: Undefined index: jobs in /home/ubuntu/repo/project/vendor/magento/
               module-cron/Model/Config/Converter/Db.php on line 39  

Cosa dice cron log?
Aivis Zvezdovs,

Si è verificato un errore 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,

Il problema era che lo strumento di migrazione dei dati ha aggiunto voci cron a un livello errato: così ha fatto delete from core_config_data where path like 'crontab/jobs%'; community.magento.com/t5/Technical-Issues/…
Stevie G

Risolto il primo numero, ma ora in esecuzione php /var/www/shootingstuff/update/cron.phpPHP 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

Risposte:


35

Nel mio caso è stato causato da alcuni lavori cron migrati da Magento 1, in core_config_data. Magento 2 si aspetta che il formato sia crontab/{groupname}/jobs/{code}, mentre a quelli importati manca il nome del gruppo (ovvero predefinito). In tal caso, potresti voler eliminare le voci errate core_config_datao aggiornarle per mappare i nuovi processi cron.


3
Potrebbe essere necessario rimuovere tutte le voci crontab dalla core_config_datatabella ed eseguire php bin/magento setup:upgrade.
Ndianabasi,

1
bin/magento ca:fl configmi è bastato
Shapeshifter il

Hai ragione! È davvero lì in core_config_data poiché questo sito che sto lavorando è stato migrato prima da M1 a M2.1, grazie ancora!
MazeStricks,

2
202 voci cancellate :) DELETE FROM core_config_data WHERE path LIKE 'crontab/%' AND path NOT LIKE 'crontab/default%' AND config_id > 0Avevo bisogno dell'ultima parte a AND config_id > 0causa della modalità provvisoria.
Damodar Bashyal,

1
Grazie @DamodarBashyal per aver condiviso la query.
Chirag Dodia,

4

Ho lo stesso errore Questo è l'errore durante la migrazione da Magento 1 a Magento 2. Quindi l'ho corretto rimuovendo tutte le righe con "percorso" che inizia con "crobtab" nella tabella "core_config_data".

Quindi esegui questo: php bin / magento setup: upgrade

E errore risolto. Magento 2 genererà di nuovo tutti i cronjobs.


grazie ha funzionato per me.
biplab in rotta dal

3

Come ha detto rcason: questo problema è dovuto alla migrazione da Magento 1 a Magento 2. Dopo aver rimosso da "core _config_data" tutti i valori che iniziano con crontab / default ... (sotto Config Path) il problema è risolto, e M2 cron jobs ora funziona senza problemi.


0

Sembra che tu abbia il formato errato della configurazione cron nel database. Prova a ripulire la cron_scheduletabella e prova a eseguire di nuovo cron.

Controlla anche le impostazioni cron nella configurazione del sistema.


1
Non c'è niente incron_schedule
Stevie G,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.