¿Por qué Magento 2.1.2 cron: run da Undefined index: jobs?

13

Cuando se ejecuta:

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

Yo obtengo:

[Exception]                                                                  
  Notice: Undefined index: jobs in /home/ubuntu/repo/project/vendor/magento/
               module-cron/Model/Config/Converter/Db.php on line 39  
Stevie G
fuente
¿Qué dice cron log?
Aivis Zvezdovs
Hay un error en 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
Entonces, el problema fue que la herramienta de migración de datos agregó entradas cron en el nivel incorrecto: también lo hizo delete from core_config_data where path like 'crontab/jobs%'; community.magento.com/t5/Technical-Issues/…
Stevie G
Se ha corregido el primer número, pero ahora corriendo php /var/www/shootingstuff/update/cron.phpdaPHP 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

Respuestas:

35

En mi caso, fue causado por algunos trabajos cron migrados desde Magento 1, en core_config_data. Magento 2 espera que el formato sea crontab/{groupname}/jobs/{code}, mientras que los importados pierden el nombre del grupo (es decir, predeterminado). Si ese es su caso, es posible que desee eliminar las entradas incorrectas core_config_datao actualizarlas para asignar los nuevos trabajos cron.

rcason
fuente
3
Es posible que deba eliminar todas las entradas de crontab de la core_config_datatabla y luego ejecutarlas php bin/magento setup:upgrade.
Ndianabasi
1
bin/magento ca:fl configfue suficiente para mí
Shapeshifter
¡Tienes razón! Realmente está allí en core_config_data ya que este sitio en el que estoy trabajando se migró antes de M1 a M2.1, ¡Gracias de nuevo!
MazeStricks
2
202 entradas borradas :) DELETE FROM core_config_data WHERE path LIKE 'crontab/%' AND path NOT LIKE 'crontab/default%' AND config_id > 0Necesitaba la última parte AND config_id > 0debido al modo seguro.
Damodar Bashyal
1
Gracias @DamodarBashyal por compartir la consulta.
Chirag Dodia
4

Yo tengo el mismo error. Este es el error cuando la migración de Magento 1 a Magento 2. Así que lo arreglé eliminando todas las filas que tienen "ruta" comienzan por "crobtab" en la tabla "core_config_data".

Luego ejecute esto: php bin / magento setup: upgrade

Y error corregido. Magento 2 generará todos los cronjobs nuevamente.

Andy Kim Long
fuente
gracias funcionó para mí
derrota de biplab el
3

Como dijo rcason: este problema se debe a la migración de Magento 1 a Magento 2. Después de eliminar de "core _config_data" todos los valores que comienzan con crontab / default ... (en Config Path) el problema está resuelto y M2 cron jobs ahora corre sin problema.

Isaac
fuente
0

Parece que tiene el formato incorrecto de configuración cron en la base de datos. Pruebe la cron_scheduletabla de limpieza e intente ejecutar cron nuevamente.

También verifique la configuración cron en la configuración del sistema.

Kandy
fuente
1
No hay nada encron_schedule
Stevie G